+ All Categories
Home > Technology > Php com Svn

Php com Svn

Date post: 29-Nov-2014
Category:
Upload: nicolas-lazarte
View: 3,811 times
Download: 2 times
Share this document with a friend
Description:
 
29
Php com Subversion Artigo sob a Licença Creative Commons. Danilo Resende - [email protected] Jorge Fernandes - [email protected] Nícolas Lazarte - [email protected]
Transcript
Page 1: Php com Svn

Php com Subversion

Artigo sob a Licença Creative Commons.

Danilo Resende - [email protected] Fernandes - [email protected]ícolas Lazarte - [email protected]

Page 2: Php com Svn

2

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 3: Php com Svn

3

Objetivo da palestra

Apresentação básica da biblioteca, da PECL¹, que permite a utilização da aplicação Subversion, através da

linguagem PHP.

Pode ser utilizada para o desenvolvimento de um portal onde os usuários de maneira mais fácil administrem o

sistema svn².

¹ A PECL (PHP Extension Community Library) contem extensões em C para compilação no PHP

² Subversion

Page 4: Php com Svn

4

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 5: Php com Svn

5

Sistemas de Controle de Versão

Sistemas de controle de versão são aplicações com finalidade de gerenciar diferentes versões no

desenvolvimento de algum documento ou aplicação qualquer.

Page 6: Php com Svn

6

Subversion

● Projeto inicializado no ano 2000 pela CallabNet● É um sistema de controle de versão

centralizado● Existe um repositório central onde os usuários

adquirem uma cópia de trabalho.

● Fácil entendimento dos conceitos básicos● Checkout, update, commit, status, diff, resolve,

etc.

Page 7: Php com Svn

7

Subversion

Page 8: Php com Svn

8

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 9: Php com Svn

9

Biblioteca svn para PHP

● Instalação

● Debian e derivados– Php5-svn – aptitude install php5-svn– No repositório do Ubuntu 9.10, o pacote está bugado,

para instalar-lo basta fazer download do pacote no repositório do Debian.

● Outra distro ou outro SO

– http://pecl.php.net/package/svn

Page 10: Php com Svn

10

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 11: Php com Svn

11

Constantes

Constantes de Autenticação● SVN_AUTH_PARAM_DEFAULT_USERNAME → String

● Constante com o nome de usuário que será utilizado na autenticação do repositório subversion.

● SVN_AUTH_PARAM_DEFAULT_PASSWORD → String

● Constante com a senha referente ao usuário da constante anterior.

● PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS → Boolean

● Constante booleana que determina se será ignorado ou não erros de certificações da conexão SSL com o repositório

Serão apresentadas somente as constantes de autenticação por serem necessárias para desenvolver algo simples, outras constantes podem ser vistas em: http://br.php.net/manual/en/svn.constants.php

Page 12: Php com Svn

12

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 13: Php com Svn

13

Funções

Manipulação das constantes de autenticação● void svn_auth_set_parameter(string $key, string $value)

● string svn_auth_get_parameter(string $key)

Page 14: Php com Svn

14

Funções

Trabalhando com arquivos e diretórios do repositório● string svn_cat(string $repos_url)

● Função que retorna o conteúdo de um arquivo que está no repositório.

Page 15: Php com Svn

15

Funções

Trabalhando com arquivos e diretórios do repositório● bool svn_delete(string $path)

● Função que remove um arquivo do repositório, é preciso fazer comit da modificação.

Page 16: Php com Svn

16

Funções

Trabalhando com arquivos e diretórios do repositório● bool svn_mkdir(string $path)

● Função que cria um diretório no repositório.

● bool svn_add(string $path)● Adiciona o arquivo ao repositório.

Page 17: Php com Svn

17

Funções

Trabalhando com arquivos e diretórios● array svn_ls(string $repos_url)

● Função que lista o conteúdo do repositório, como o ls do Linux.

Page 18: Php com Svn

18

Funções

Trabalhando com o repositório● bool svn_checkout(string $repos, string $targetpath)

● Faz uma cópia do repositório para a maquina local.

● int svn_update(string $path, int $revno)● Atualiza a cópia do seu repositório para a revisão especificada ou para a ultima.

Page 19: Php com Svn

19

Funções

Trabalhando com o repositório● array svn_commit(string $log, array $targets)

● Manda as modificações da sua cópia para o repositório.

Page 20: Php com Svn

20

FunçõesFunções para trabalhar com informações do repositório● array svn_status(string $path)

● Função que retorna os arquivos que foram modificados na cópiaOBS.: O retorno é composto por um array de cada arquivo, e cada item do array é outro array com muitas prioridades, é recomendado ver os seguintes links:

– http://br.php.net/manual/en/function.svn-status.php

– http://br.php.net/manual/en/svn.constants.php#svn.constants.status

Page 21: Php com Svn

21

Funções

Funções para trabalhar com informações do repositório● array svn_log(string $repos_url)

● Função que retorna as modificações feitas em cada revisão.

Page 22: Php com Svn

22

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 23: Php com Svn

23

Casos de utilização da biblioteca

A biblioteca permite ao usuário criar sistemas de gerencia de projetos, sistema de deploy, sistemas amigáveis para usuários leigos em “terminal linux” e qualquer outro sistema em que seja necessário a comunicação

entre o subversion e o usuário.

Page 24: Php com Svn

24

Casos de utilização da biblioteca

Caso da Universidade Federal de Goiás

Problema: O Cercomp, orgão que cuida e administra o servidor web estava recebendo muitos pedidos de instituições da UFG para que

outros sistemas tenham espaço no servidor. Como os sistemas eram atualizados, a atualização era feita por ftp ou outros.

Solução: Foi desenvolvido um sistema de Deploy, onde os mantenedores do sistema através do Subversion, mandam a atualização

do sistema para o servidor e via sistema de Deploy, atualizavam diretamente no servidor web, podendo voltar em versões antigas caso

ocorresse conflito.

Page 25: Php com Svn

25

Índice

● Objetivo da palestra

● Sistemas Controle de Versão e Subversion

● Biblioteca php-svn

● Instalação● Constantes● Funções

● Casos de utilização da biblioteca

● Exemplo de aplicação

Page 26: Php com Svn

26

Exemplo de aplicação

● Phpsvn-Manager● Sistema de Deploy desenvolvido pelo Cercomp – UFG● https://softifes.andifes.org.br/projects/phpsvn-manager

– Sistema desenvolvido com finalidade de centralizar, gerenciar e organizar os projetos dentro da universidade.

– Software Livre.

Page 27: Php com Svn

27

Exemplo de aplicação

● Phpsvn-Manager● Sistema de Deploy desenvolvido pelo Cercomp – UFG● https://softifes.andifes.org.br/projects/phpsvn-manager

Page 28: Php com Svn

28

Referências

● Subversion - Wikipedia● http://pt.wikipedia.org/wiki/Subversion

● PHP.net documentação biblioteca Subversion● http://br.php.net/manual/en/book.svn.php

Page 29: Php com Svn

29

Dúvidas ??


Recommended