{"id":3326,"date":"2015-03-13T22:42:40","date_gmt":"2015-03-13T22:42:40","guid":{"rendered":"http:\/\/www.deuzebranaweb.com.br\/?p=3326"},"modified":"2015-03-13T22:42:40","modified_gmt":"2015-03-13T22:42:40","slug":"httpwww-uolhost-com-brblogcomponentes-no-php-parte-irmcl","status":"publish","type":"post","link":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/2015\/03\/13\/httpwww-uolhost-com-brblogcomponentes-no-php-parte-irmcl\/","title":{"rendered":"Componentes no PHP \u2013 parte I"},"content":{"rendered":"<p>Recentemente falamos um pouco sobre os <a href=\"http:\/\/blog.uolhost.com.br\/2008\/07\/24\/componentes-asp-para-windows\/\" target=\"_blank\">componentes dispon\u00edveis<\/a> na plataforma Windows. Agora vamos nos aprofundar um pouco nos m\u00f3dulos\/componentes que est\u00e3o habilitados no nosso PHP.<\/p>\n<p>O \u201cphpinfo\u201d da plataforma Linux pode ser visto neste <a href=\"http:\/\/weiner.dominiotemporario.com\/info.php\" target=\"_blank\">link<\/a>.<\/p>\n<p>Para quem n\u00e3o conhece todas as funcionalidades, aqui vai um breve resumo:<\/p>\n<p>PHP Core \u2013 configura\u00e7\u00f5es gerais como \u201cregister_globals\u201d, \u201casp_tags\u201d, \u201clog_errors\u201d, \u201cinclude_path\u201d.<\/p>\n<ul>\n<li>voc\u00ea pode mudar os valores colocando as seguintes linhas em um arquivo .htaccess na raiz do seu site (\/home\/meulogin\/public_html\/.htaccess):<\/li>\n<\/ul>\n<p><em>php_value register_globals on<\/em><\/p>\n<p><em>php_value include_path \u201c.:\/home\/meulogin\/meudiretorio\u201d<\/em><\/p>\n<ul>\n<li>note que fun\u00e7\u00f5es como \u201csystem\u201d, \u201cexec\u201d, n\u00e3o est\u00e3o bloqueadas a contr\u00e1rio de outros provedores. No UOL HOST voc\u00ea pode rodar os aplicativos Joomla, OSCommerce, WordPress, etc sem a necessidade de modificar c\u00f3digo ! E isto de forma segura e sem riscos em um ambiente compartilhado !<\/li>\n<\/ul>\n<p>Apache Environment<\/p>\n<ul>\n<li>configura\u00e7\u00e3o do apache. Aqui no UOL HOST usamos a configura\u00e7\u00e3o de \u201ckeep-alive\u201d habilitada paraturbinar a performance do seu site. Somos um dos \u00fanicos provedores que trabalham desta forma na plataforma Linux;<\/li>\n<\/ul>\n<p>bcmath<\/p>\n<ul>\n<li>c\u00e1lculos matem\u00e1ticos com qualquer precis\u00e3o num\u00e9rica que determinar;<\/li>\n<\/ul>\n<p>bz2 (bzip2)<\/p>\n<ul>\n<li>compress\u00e3o e descompress\u00e3o de arquivos no formato bz2;<\/li>\n<\/ul>\n<p>calendar<\/p>\n<ul>\n<li>convers\u00e3o entre formatos de calend\u00e1rio (gregoriano e juliano) e fun\u00e7\u00f5es de datas em geral;<\/li>\n<\/ul>\n<p>ctype<\/p>\n<ul>\n<li>para quem usa caracteres em outras linguagens (Unicode e ISOs), este m\u00f3dulo ajuda na identifica\u00e7\u00e3o de caracteres alfanum\u00e9ricos, n\u00fameros, valida\u00e7\u00e3o, etc;<\/li>\n<\/ul>\n<p>curl<\/p>\n<ul>\n<li>possibilita a comunica\u00e7\u00e3o com sites e aplica\u00e7\u00f5es remotas atrav\u00e9s do protocolo HTTP e\/ou HTTPS (suporta outros). Usado para pegar o conte\u00fado de uma p\u00e1gina externa ou invocar um webservice, por exemplo;<\/li>\n<\/ul>\n<p>date<\/p>\n<ul>\n<li>fun\u00e7\u00f5es de data em geral;<\/li>\n<li>suportamos hor\u00e1rio de ver\u00e3o;<\/li>\n<\/ul>\n<p>dba<\/p>\n<ul>\n<li>camada de abstra\u00e7\u00e3o de acesso a dados para os bancos Berkeley DB (os .db ou .dbm da Sleepycat);<\/li>\n<\/ul>\n<p>dbx<\/p>\n<ul>\n<li>camada de abstra\u00e7\u00e3o de acesso a dados para os bancos MySQL, SQLite, Microsoft SQL Server, etc (pode-se trabalhar de forma gen\u00e9rica a usar fun\u00e7\u00f5es espec\u00edficas e amarradas a um tipo de banco);<\/li>\n<\/ul>\n<p>dom<\/p>\n<ul>\n<li>manipula\u00e7\u00e3o de XML usando DOM;<\/li>\n<\/ul>\n<p>exif<\/p>\n<ul>\n<li>trabalha com metadados de imagens, como por exemplo, descobrir se uma imagem \u00e9 do tipo GIF, JPG, TIFF, etc;<\/li>\n<\/ul>\n<p>filter<\/p>\n<ul>\n<li>valida\u00e7\u00e3o de par\u00e2metros \u2013 pode ser usado para validar par\u00e2metros passados pela web para uma aplica\u00e7\u00e3o e filtrar ataques de SQL Injection e\/ou CSS (cross site scripting);<\/li>\n<\/ul>\n<p>ftp<\/p>\n<ul>\n<li>fun\u00e7\u00f5es que \u201cconversam\u201d em FTP com servidores externos;<\/li>\n<\/ul>\n<p>gd<\/p>\n<ul>\n<li>manipula\u00e7\u00e3o de imagens. Pode criar imagens, manipular cores, redimensionar, escrever um texto dentro de imagem, et<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Dando prosseguimento aos componentes que est\u00e3o habilitados no nosso PHP:<\/p>\n<p>gettext<\/p>\n<ul>\n<li>utilizado para criar as suas aplica\u00e7\u00f5es em v\u00e1rios idiomas. Voc\u00ea pode utilizar arquivos com tradu\u00e7\u00f5es \u00e0 parte, onde mapeia configura\u00e7\u00f5es de chave\/valor para os textos. Desta forma, para traduzir para outro idioma, fica muito mais f\u00e1cil (nota: traduzir e internacionalizar s\u00e3o coisas diferentes\u2026 internacionalizar \u00e9 um conceito muito mais amplo\u2026)<\/li>\n<\/ul>\n<p>gmp<\/p>\n<ul>\n<li>outra biblioteca de manipula\u00e7\u00e3o num\u00e9rica, desta vez mais focada em n\u00fameros inteiros;<\/li>\n<\/ul>\n<p>hash<\/p>\n<ul>\n<li>gera valores \u00fanicos (hash) de strings, arquivos texto, etc usando diversos tipos de algoritmo. \u00datil para fazer compara\u00e7\u00f5es, checar integridade de arquivos, etc;<\/li>\n<\/ul>\n<p>iconv<\/p>\n<ul>\n<li>converte textos entre diferentes conjuntos de caracteres (unicode e ISOs);<\/li>\n<\/ul>\n<p>imap<\/p>\n<ul>\n<li>conversa o protocolo IMAP de recebimento de mensagens de e-mail. No UOL HOST, os e-mails de sua hospedagem j\u00e1 suportam IMAP e com estas fun\u00e7\u00f5es voc\u00ea poderia fazer o seu pr\u00f3prio webmail (ou instalar um pacote);<\/li>\n<\/ul>\n<p>interbase<\/p>\n<ul>\n<li>apesar de n\u00e3o termos o interbase\/firebird instalado internamente, voc\u00ea pode usar o PHP para se conectar a uma base externa \u00e0 nossa rede;<\/li>\n<\/ul>\n<p>json<\/p>\n<ul>\n<li>transforma chamadas javascript que utilizam o formato JSON em vari\u00e1veis no PHP e vice-versa. Muito \u00fatil para criar sites din\u00e2micos, na linha do jarg\u00e3o \u201cWEB 2.0\u2033;<\/li>\n<\/ul>\n<p>ldap<\/p>\n<ul>\n<li>conversa o protocolo LDAP. O seu site pode se conectar a um diret\u00f3rio externo LDAP e us\u00e1-lo para autenticar usu\u00e1rios. As fun\u00e7\u00f5es deste m\u00f3dulo teoricamente funcionam at\u00e9 com o Active Directory da Microsoft;<\/li>\n<\/ul>\n<p>libxml<\/p>\n<ul>\n<li>mais fun\u00e7\u00f5es de manipula\u00e7\u00e3o de XML;<\/li>\n<\/ul>\n<p>mbstring<\/p>\n<ul>\n<li>manipula\u00e7\u00e3o de caracteres internacionais. Algumas linguagens como japon\u00eas e chin\u00eas possuem tantos caracteres que n\u00e3o cabem em um \u00fanico byte como no ASCII e assim necessitam de mais bytes para represent\u00e1-lo. Este conjunto de fun\u00e7\u00f5es auxilia a fazer compara\u00e7\u00f5es, encontrar caracteres dentro de textos, etc (coisas que programadores est\u00e3o acostumados a fazer facilmente nos nossos caracteres latinos <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/blogosfera.uolhost.com.br\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/>\u00a0 );<\/li>\n<\/ul>\n<p>mcrypt<\/p>\n<ul>\n<li>criptografia com diversos algoritmos sim\u00e9tricos e assim\u00e9tricos e tamanhos de chaves criptogr\u00e1ficas;<\/li>\n<\/ul>\n<p>mhash<\/p>\n<ul>\n<li>na mesma linha do m\u00f3dulo \u2018hash&#8217;;<\/li>\n<\/ul>\n<p>mssql<\/p>\n<ul>\n<li>fun\u00e7\u00f5es espec\u00edficas para acessar o MS SQL Server. No UOL HOST, os planos Linux funcionam com SQL Server 2005. Este banco pode ser contratado como adicional ao plano de hospedagem. Toda a parte de acentua\u00e7\u00e3o, datas em portugu\u00eas, moeda foram testadas para n\u00e3o gerar problemas;<\/li>\n<\/ul>\n<p>mysql<\/p>\n<ul>\n<li>fun\u00e7\u00f5es espec\u00edficas para acessar o MySQL. No UOL HOST, os planos de hospedagem tem direito a bases MySQLs inclusas na vers\u00e3o 5.1;<\/li>\n<\/ul>\n<p>mysqli<\/p>\n<ul>\n<li>evolu\u00e7\u00e3o da extens\u00e3o \u2018mysql\u2019. S\u00e3o fun\u00e7\u00f5es \u2018turbinadas\u2019 que trabalham com as novas caracter\u00edsticas\u00a0 como transa\u00e7\u00f5es e stored procedures;<\/li>\n<\/ul>\n<p>ncurses<\/p>\n<ul>\n<li>usado no PHP como comando de linha \u2013 n\u00e3o tem muita fun\u00e7\u00e3o para a web, mas geralmente j\u00e1 vem habilitada por default;<\/li>\n<\/ul>\n<p>odbc<\/p>\n<ul>\n<li>fun\u00e7\u00f5es gen\u00e9ricas de acesso a dados, usando o conceito do ODBC \u2013 permite abstrair o acesso a qualquer banco de dados sem precisar conhecer o fabricante. Se um dia trocar o banco, n\u00e3o precisa mudar a programa\u00e7\u00e3o. A desvantagem \u00e9 que n\u00e3o \u00e9 t\u00e3o perform\u00e1tico como a forma nativa de acesso;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Chegamos na \u00faltima parte.<\/p>\n<p>openssl<\/p>\n<ul>\n<li>fun\u00e7\u00f5es de criptografia usando a popular biblioteca \u2018openssl&#8217;;<\/li>\n<\/ul>\n<p>pcre<\/p>\n<ul>\n<li>\u201cregular expressions\u201d em PHP. Recurso bastante comum na linguagem perl, tamb\u00e9m est\u00e1 dispon\u00edvel no PHP. O uso de express\u00f5es regulares permite que se encontrem padr\u00f5es de texto dentro de outros textos, manipulem strings de maneira simples ou bem complexa, etc (quem mexe com \u2018REs\u2019 avan\u00e7adas sabe do que estou falando\u2026 <a href=\"http:\/\/ex-parrot.com\/~pdw\/Mail-RFC822-Address.html\" target=\"_blank\">\u2018RE\u2019 completa para validar um endere\u00e7o de e-mail<\/a>);<\/li>\n<\/ul>\n<p>pdf<\/p>\n<ul>\n<li>cria arquivos PDF dinamicamente;<\/li>\n<\/ul>\n<p>PDO, pdo_mysql, pdo_ODBC, pdo_pgsql, pdo_sqlite<\/p>\n<ul>\n<li>\u201cPHP Data Objects\u201d \u2013 interface de acesso a banco de dados (a contr\u00e1rio de uma camada de abstra\u00e7\u00e3o total, esta extens\u00e3o n\u00e3o gera SQL automaticamente). \u00c9 uma extens\u00e3o relativamente nova e tem como objetivo padronizar o acesso a banco de dados usando as mesmas fun\u00e7\u00f5es independentemente do banco que se conectar;<\/li>\n<\/ul>\n<p>pgsql<\/p>\n<ul>\n<li>apesar de ainda n\u00e3o termos o postgresql como servi\u00e7o, voc\u00ea pode usar o PHP para se conectar a uma base externa \u00e0 nossa rede;<\/li>\n<\/ul>\n<p>posix<\/p>\n<ul>\n<li>fun\u00e7\u00f5es de baixo n\u00edvel no sistema operacional, como consulta de permiss\u00e3o de arquivos e consulta de processos;<\/li>\n<\/ul>\n<p>pspell<\/p>\n<ul>\n<li>biblioteca de verifica\u00e7\u00e3o de ortografia de textos;<\/li>\n<\/ul>\n<p>reflection<\/p>\n<ul>\n<li>o grande diferencial do PHP5 em rela\u00e7\u00e3o ao PHP4 \u00e9 a arquitetura voltada para classes e objetos. Quem programa orientado a objetos sabe que o recurso de \u201creflex\u00e3o\u201d \u00e9 importante para se inspecionar os m\u00e9todos de uma classe e com isso realizar opera\u00e7\u00f5es que uma linguagem procedural n\u00e3o conseguiria;<\/li>\n<\/ul>\n<p>session<\/p>\n<ul>\n<li>recurso imprescind\u00edvel para aplica\u00e7\u00f5es na web \u2013 sess\u00f5es. Dispensa maiores coment\u00e1rios;<\/li>\n<\/ul>\n<p>simplexml<\/p>\n<ul>\n<li>mais uma biblioteca de manipula\u00e7\u00e3o de XML;<\/li>\n<\/ul>\n<p>soap<\/p>\n<ul>\n<li>extens\u00e3o de chamada e manipula\u00e7\u00e3o de webservices com o protocolo SOAP;<\/li>\n<\/ul>\n<p>sockets<\/p>\n<ul>\n<li>fun\u00e7\u00f5es gen\u00e9ricas de abertura de \u201cportas\u201d (sockets). Com elas, voc\u00ea pode implementar o seu protocolo de comunica\u00e7\u00e3o com um servidor externo qualquer;<\/li>\n<\/ul>\n<p>sourceguardian<\/p>\n<ul>\n<li>m\u00f3dulo que processa arquivos encriptados pelo \u201cSource Guardian\u201d. Para proteger a propriedade intelectual de seus clientes, alguns desenvolvedores encriptam o c\u00f3digo e o colocam no site do seu clente. E para que estes arquivos sejam processados com sucesso, extens\u00f5es como esta devem estar habilitadas;<\/li>\n<\/ul>\n<p>spl<\/p>\n<ul>\n<li>cole\u00e7\u00e3o de interfaces e classes para casos comuns \u2013 arrays, exceptions, debug, etc;<\/li>\n<\/ul>\n<p>standard<\/p>\n<ul>\n<li>o \u2018core\u2019 do PHP;<\/li>\n<\/ul>\n<p>tidy<\/p>\n<ul>\n<li>manipula\u00e7\u00e3o de HTML (verificar se est\u00e1 no padr\u00e3o, navegar dentro dos n\u00f3s dos elementos no HTML, etc);<\/li>\n<\/ul>\n<p>tokenizer<\/p>\n<ul>\n<li>manipula\u00e7\u00e3o de c\u00f3digo fonte em PHP (meio obscuro\u2026);<\/li>\n<\/ul>\n<p>wddx<\/p>\n<ul>\n<li>mais uma extens\u00e3o de manipula\u00e7\u00e3o de XML;<\/li>\n<\/ul>\n<p>xml<\/p>\n<ul>\n<li>o pr\u00f3prio;<\/li>\n<\/ul>\n<p>xmlreader<\/p>\n<ul>\n<li>parser de XML, lendo e manipulando arquivos XML;<\/li>\n<\/ul>\n<p>xmlrpc<\/p>\n<ul>\n<li>usado para chamar webservices e\/ou escrever um \u201cservidor\u201d que disponibilize servi\u00e7os do seu site para o mundo;<\/li>\n<\/ul>\n<p>xsl<\/p>\n<ul>\n<li>transforma\u00e7\u00f5es XSLT entre XML e XSL;<\/li>\n<\/ul>\n<p>zend optimizer<\/p>\n<ul>\n<li>acelerador de c\u00f3digo (transparente para os clientes) para servir melhor e mais r\u00e1pido os seus arquivos. Como a extens\u00e3o \u201csource guardian\u201d tamb\u00e9m interpreta arquivo encriptados pelo Zend;<\/li>\n<\/ul>\n<p>zip<\/p>\n<ul>\n<li>extens\u00e3o para compactar e descompactar arquivos em formato ZIP;<\/li>\n<\/ul>\n<p>zlib<\/p>\n<ul>\n<li>extens\u00e3o para compactar e descompactar arquivos em formato GZIP;<\/li>\n<\/ul>\n<p>\u2013 outras extens\u00f5es:<\/p>\n<p>dbase<\/p>\n<ul>\n<li>o velho e bom banco de dados dbase\u2026;<\/li>\n<\/ul>\n<p>ioncube loader<\/p>\n<ul>\n<li>como o source guardian e o zend, permite processar arquivos criptografados por quem usou o IonCube;<\/li>\n<\/ul>\n<p>Estas s\u00e3o as extens\u00f5es do PHP5 dispon\u00edveis no UOL HOST. Elas suportam praticamente 100% de todos os frameworks e aplicativos pagos e\/ou de c\u00f3digo livre. Juntando com a flexibilidade de se customizar os par\u00e2metros do seu site, temos convic\u00e7\u00e3o que oferecemos o servi\u00e7o de melhor custo\/benef\u00edcio do mercado !<\/p>\n<p><b>Atualiza\u00e7\u00e3o 15\/10\/2008<\/b>: J\u00e1 estamos com as extens\u00f5es para php_ming para gera\u00e7\u00e3o de flash dinamicamente e sqlite 2.0.<\/p>\n<p>&nbsp;<\/p>\n<p>http:\/\/www.uolhost.com.br\/blog\/componentes-no-php-parte-i#rmcl<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recentemente falamos um pouco sobre os componentes dispon\u00edveis na plataforma Windows. Agora vamos nos aprofundar um pouco nos m\u00f3dulos\/componentes que est\u00e3o habilitados no nosso PHP. O \u201cphpinfo\u201d da plataforma Linux pode ser visto neste link. Para quem n\u00e3o conhece todas as funcionalidades, aqui vai um&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_angie_page":false,"page_builder":"","footnotes":""},"categories":[5,6],"tags":[],"class_list":["post-3326","post","type-post","status-publish","format-standard","hentry","category-apache2","category-php"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=3326"}],"version-history":[{"count":0,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3326\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=3326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=3326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=3326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}