como contribuir-com-open-source-php conference-2016

Post on 07-Jan-2017

60 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Be Free. KDE

PHPInternals comPHPUnit

#PHPConference-2016

@marcosptf

2/49 Be Free. KDE

About me@marcosptf

pyterophpzerojavero

3/49 Be Free. KDE

o que é open source?Distribuição livreA licença não deve restringir de nenhuma maneira a venda ou distribuição doprograma gratuitamente, como componente de outro programa ou não.

Código fonteO programa deve incluir seu código fonte e deve permitir a sua distribuição.

Integridade do autor do código fonteA licença deve explicitamente permitir a distribuição do programa construído apartir do código fonte modificado.

Be Free. KDE

Exemplos de projetos

5/49 Be Free. KDE

porque contribuir?Aprender maisConhecer melhor o projetoNetworkCarreira Então...., porque não contribuir?

6/49 Be Free. KDE

O PHP precisa de você!!!

7/49 Be Free. KDE

Vamos contribuir?

8/49 Be Free. KDE

php - contribuindophp-docFramework TestsBugs reportingphp-src internalsphpunitphp hacker guide

9/49 Be Free. KDE

php-dochttp://doc.php.net/tutorial/structure.phpsvn checkouthttps://svn.php.net/repository/phpdoc/modules/doc-{LANG} phpdoc->corrigir documentação->criar documentação->traduzir para o portugues

10/49

Be Free. KDE

php-doc - Files Structure/phpdoc/{LANG}/reference/extension_name/book.xml - acts as the container for theextension and contains the preface. Other files(like examples.xml) are included from here.setup.xml - includes setup, install andconfiguration documentationconstants.xml - lists all constants that theextension declared.

11/49

Be Free. KDE

php-doc - Files Structureconfigure.xml - usually this information is insetup.xml, but if the file exists it is magicallyincluded into setup.xmlexamples.xml - various examplesfoo.xml - example, foo can be anything specificto a topic. Just be sure to include via book.xml.

12/49

Be Free. KDE

php-doc - Files Structurereference.xml - container for the functions,rarely contains any infofunctions/ - folder with one XML file per functionthat the extension declaresclassname.xml - container for the methodsdefined by the class, contains also basic infoabout itclassname/ - folder with one XML per methodthat the class declares.

13/49

Be Free. KDE

php-doc - Files Structure{LANG}/language-defs.ent - contains localentities used by this language. Some commonones are the main part titles, but you shouldalso put entities used only by this language'sfiles here.{LANG}/language-snippets.ent - longer oftenused XML snippets translated to this language.Including common warnings, notes, etc.

14/49

Be Free. KDE

Framework Tests./configuremakemake installmake testThanks :-)

15/49

Be Free. KDE

bugs.php.net

16/49

Be Free. KDE

bugs.php.net

17/49

Be Free. KDE

bugs.php.net

18/49

Be Free. KDE

bugs.php.net

19/49

Be Free. KDE

gcov.php.net

20/49

Be Free. KDE

php x ruby x rust

21/49

Be Free. KDE

como funciona php-src?Por favor acessem:https://github.com/php/php-src

22/49

Be Free. KDE

como funciona php-src?

23/49

Be Free. KDE

como funciona php-src?

24/49

Be Free. KDE

como funciona php-src?

TSRM - Thread Safe Resource Manager É uma API onde as extensões devem interagir para que possam atenderrequisições em paralelo sem restrições ou interferencias.

ex:mysqlicurlenchantexif pdo

25/49

Be Free. KDE

como funciona php-src?

ZEND - Zend Memory ManagerEste é o gerenciador de memoria onde tenta reduzir o uso de alocação esobrecarga.Quando habilitado, permite selecionar entre "malloc" e "emalloc" em tempo deexecução e permite ultilizar a memoria interna e externa e depuradores sem recompilação.

26/49

Be Free. KDE

como funciona php-src?

build - instalação e compilaçãoNeste diretorio ficam os scripts ultilizados quando é realizado algum comando de instalaçãoou compilação como:

./configuremakemake install

27/49

Be Free. KDE

como funciona php-src?

ext - extensõesNeste diretorio ficam as extenções que fazem parte do core php

diretorio onde ficam as extenções:github/php-src/ext/

diretorio onde fica o codigo fonte das extenções:github/php-src/ext/<nome-da-extenção>/

diretorio onde ficam os testes de integraçãogithub/php-src/ext/<nome-da-extenção>/testes/

28/49

Be Free. KDE

como funciona php-src?

main - funcionalidades principaisNeste diretorio ficam as validações e funcionalidades principais do php

aqui por exemplo, ele verifica se a variavel criada em php, realmente é valida:github/php-src/main/php_variables.c#L56

diretorio onde fica o codigo fonte da conexao php com redes via socketgithub/php-src/main/network.c

29/49

Be Free. KDE

como funciona php-src?

netware - novellItens para manter compartibilidade com os componentes da novell.

30/49

Be Free. KDE

como funciona php-src?

pear - php extension and applicationrepositoryItens para manter compartibilidade com as extenções do pear.

31/49

Be Free. KDE

como funciona php-src?

sapi - Server APIÉ o mecanismo que controla a interação entre o "mundo exterior" e o mecanismoPHP/Zend.

O SAPI é um aplicativo interface de programação (API) fornecido pelo servidor web para ajudar outros desenvolvedores em estender o web serverrecursos.

O PHP tem uma interface direta do módulo chamada SAPI para servidores web diferentes.

No caso de PHP 5 e Apache 2.0 no Windows, ele é fornecido na forma de um arquivo DLLchamado php5apache2.dll.

Existem diferentes tipos de SAPIs para várias extensões de servidor web, como porexemplo, outro dois SAPIs para a linguagem PHP são Common Gateway Interface (CGI) einterface de linha de comando (CLI).

32/49

Be Free. KDE

como funciona php-src?

scripts - configsão scripts de configuração para o projeto.

33/49

Be Free. KDE

como funciona php-src?tests

onde ficam alguns testes relacionados ao core do phpgithub/php-src/tests

lembrando que os testes de extensões ficam aqui:github/php-src/ext/<nome-da-extenção>/testes/

34/49

Be Free. KDE

como funciona php-src?

travis - ci

35/49

Be Free. KDE

como funciona php-src?

win32 - scripts e configurações paraambientes microsoft.

36/49

Be Free. KDE

PHPUnit *.phpt

Os arquivos escritos em .phpt são usadospara fazer testes de integração

-Testes de Integração:É a Fase que os modulos são testados emgrupo.

- Testes de Unitarios:Os Modulos são testados individualmente

37/49

Be Free. KDE

PHPUnit *.phpt

38/49

Be Free. KDE

PHPUnit *.phpt

39/49

Be Free. KDE

PHPUnit *.phpt

Vamos quebrar em partes, como funcionaas principais tags PHPUnit para .phpt

40/49

Be Free. KDE

PHPUnit *.phpt

41/49

Be Free. KDE

PHPUnit *.phpt

42/49

Be Free. KDE

PHPUnit *.phpt

43/49

Be Free. KDE

PHPUnit *.phpt

44/49

Be Free. KDE

PHPCore Hacker

PHP at the Core: A Hacker's Guide

http://php.net/manual/en/internals2.php

45/49

Be Free. KDE

Sara Golemon@sgolemon

46/49

Be Free. KDE

Vamos contribuir?

47/49

Be Free. KDE

O PHP precisa de você!!!

48/49

Be Free. KDE

About me@marcosptf

pyterophpzerojavero

49/49

Be Free. KDE

!!!Obrigado!!!

duvidas?

top related