+6

PHP 5.3 parte 4: Arquivos Phar

criado por Douglas V. Pasqua em 11/01/2010 2:54pm
Adicionando arquivos

Existem várias maneiras de adicionar arquivos dentro do pacote. Uma delas é utilizando o método addFile:

$p->addFile("/project/userBlog.php");
$p->addFile("/project/userCMS.php", "/lib/CMS.php");

Na primeira chamada de método addFile estamos adicionando o arquivo /project/userBlog.php dentro do pacote. O segundo comando é semelhante, porém estamos passando um segundo parâmetro. Através do segundo parâmetro definimos o caminho que o arquivo será armazenado no pacote. Quando precisarmos utilizar esse arquivo no pacote, vamos referênciá-lo através de /lib/CMS.php.

O objeto Phar utiliza ArrayAccess SPL que permite acessar o conteúdo do pacote Phar através de array. É a maneira mais simples de se adicionar arquivos:

<?php
$p['index.php'] = file_get_contents("/project/index.php");
$p['teste.txt'] = "Teste 123 456";

Normalmente quando precisamos adicionar muitos arquivos para dentro do pacote torna-se inviável utilizar as opções anteriores, onde temos que adiocionar um a um. Existem métodos que facilitam essa tarefa, como buildFromDirectory e buildFromIterator.

buildFromDirectory:

$p->buildFromDirectory('/project', '/\.php/');

A função buildFromDirectory adiciona os arquivos de um diretório dentro do pacote Phar. O segundo parâmetro, opcional, é uma expressão regular usada para filtrar os arquivos que serão incluídos. No exemplo anterior estamos incluíndo todos os arquivos com a extensão .php do diretório /project dentro do pacote Phar.

Comentários:

Mostrando 1 - 6 de 6 comentários
Para rodar arquivos .phar, primeiramente você deve identificar a seguinte linha dentro do arquivo de configuração do Apache:

AddType application/x-httpd-php .php

Alterar a linha acima para:

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

Coloque o arquivo .phar dentro do diretório Root do apache, que no seu caso pode ser dentro do public_html/

Depois é só acessar. Exemplos:

http://localhost/exemplo.phar
http://localhost/exemplo.phar/admin.php

01/04/2010 11:35am (~14 anos atrás)

Foi mal pelo quest anterior. Na verdade o que eu não entendi foi como roda a aplicação depois que ela está em .phar
01/04/2010 9:54am (~14 anos atrás)

Eu não entendi, isso tem que ser executado na raiz da aplicaco? no caso /public_html/ no servidor?
01/04/2010 9:46am (~14 anos atrás)

Marcos Regis disse:
Só um adendo. O Phar em si não é algo novo. O Pear vem empacotado em um arquivo .phar quando baixamos o pacote do php em .zip.
Para usar Phar em versões anteriores a PHP 5.3 basta usar as extensão PECL
http://pecl.php.net/package/phar


25/02/2010 4:49pm (~15 anos atrás)

Renato Suero disse:
Douglas,Parabéns nem sabia que dava pra fazer algo do tipo com o php achei muito bacana seu artigo vlw ai :d
25/02/2010 7:16am (~15 anos atrás)

Douglas, parabéns pelo artigo. O "phar" não me soa estranho, mas é um recurso que eu não conhecia. Muito bacana.
14/01/2010 11:27pm (~15 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)