Deploying an application can be tedious and error-prone. Using Phing’s rich set of tasks, easy extension points and simple XML build files to handle the packaging, deploying and testing of your application can help you save time and increase quality. After this talk you will know how to use Phing and how to tailor it to your specific situation. A number of demonstrations will help illustrate transformation, file synchronization, database migration and other real-world use cases.
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
Apresentação da framework de desenvolvimento de aplicações web - cakePHP.
Aprender a criar uma aplicação web em PHP usando o CakePHP.
- Instalação?
- Organização?
- Como criar um Blog?
- Autenticação?
- Multi-utilizador?
Apresentação sobre os fundamentos da plataforma WordPress, passando dos fundamentos das tecnologias web envolvidas, arquitetura da plataforma e metodologia e técnicas de desenvolvimento de sites profissionais com a plataforma.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Deploying an application can be tedious and error-prone. Using Phing’s rich set of tasks, easy extension points and simple XML build files to handle the packaging, deploying and testing of your application can help you save time and increase quality. After this talk you will know how to use Phing and how to tailor it to your specific situation. A number of demonstrations will help illustrate transformation, file synchronization, database migration and other real-world use cases.
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
Apresentação da framework de desenvolvimento de aplicações web - cakePHP.
Aprender a criar uma aplicação web em PHP usando o CakePHP.
- Instalação?
- Organização?
- Como criar um Blog?
- Autenticação?
- Multi-utilizador?
Apresentação sobre os fundamentos da plataforma WordPress, passando dos fundamentos das tecnologias web envolvidas, arquitetura da plataforma e metodologia e técnicas de desenvolvimento de sites profissionais com a plataforma.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Um estudo comparativo entre frameworks PHP, analisando as diferentes abordagens, vantagens e desvantagens de cada um deles, a fim de entender em que situações cada um deles é mais adequado para uma aplicação.
Aplicações funcionam muito bem em um único ambiente, o de DEV. Entretanto, quando resolvemos fazer o deploy em um ambiente de produção, nada é tão rápido quanto o esperado. Quanto o Negócio vale quando uma aplicação é altamente escalável e de alta performance são questões que as respostas variam desde inúmeras instâncias de um Container web até a quantidade de servidores, storage e dispositivos de rede utilizados para alcançar níveis aceitáveis de resposta para os usuários.
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Luís Cobucci
Sabe aquele arquivo com 5000000 linhas e que você tem que acender umas velas pra abrir ele? Então, aqui te daremos as armas corretas para exterminá-lo e para NUNCA MAIS criar monstros como ele!
4. Smarty
●
Qual a definição de Templete?
Um documento sem conteúdo, com apenas a apresentação visual
(apenas cabeçalhos por exemplo) e instruções sobre onde e qual
tipo de conteúdo deve entrar a cada parcela da apresentação —
por exemplo conteúdos que podem aparecer no início e conteúdos
que só podem aparecer no final.
●
6. Smarty
Agora qual a definição de Classe Templete?
●
7. Smarty
Agora qual a definição de Classe Templete?
A Classe Templete tem o principal propósito manter o
código HTML em arquivos externos que ficam
completamente livres de código PHP. E dessa forma,
manter a lógica de programação (PHP) separada da
estrutura visual (HTML ou XML, CSS, etc).
●
8. Smarty
Com isso, gera duas “extremidades” de
desenvolvimento:
Html
● A parte da Visão Html
CSS
CSS
PHP
PHP
● A parte dos Controles
9. Smarty
Sem a Classe Template, o que tem é uma mistura de php, com
html, css e etc.
<?php
echo "<div>
<p> Olá Mundo!</p>
</div>";
?>
10. Smarty
Com a Classe Template, o que tem é uma organização/separação
entre os componentes de desenvolvimento da aplicação web.
<html> <?php
<body> require("Template.class.php");
<p>Olá Mundo!</p> $tpl = new Template("hello.html");
</body> $tpl->show();
</html> ?>
11. Smarty
Características específicas da Classe templete
Smarty:
● Engine oficializada pela php.net
●
● Ele é extremamente rápido.
●
● Sem elevadas interpretações de template, compila
uma vez.
●
● Só recompilará os arquivos de template que foram
alterados.
●
● Suporte de caching embutido
●
●
Arquitetura de Plugin
12. Smarty
Vantagens:
Facilidade pra criação uma vez aprendido;
Organização;
Manutenção de código;
Otimização do desenvolvimento do projeto – dois
ambientes.
14. Smarty - Instalação
Passos:
Faça o download do Smarty
Descomprima todas as pastas.
Verifique uma pasta "demo"
Prepare de maneira a deixar visível ao wwwdata
●
● Dê permissão ao diretório "templates_c".
15. Smarty - Instalação
Árvore padrão de diretório do Smarty está organizada da seguinte
●
maneira:
● / Na raiz estarão os arquivos de lógica (.PHP).
● /configs Arquivos de configuração. É possível setar por exemplo,
um título padrão para todo seu sistema, e utilizálo nos arquivos de
templete.
● /libs Bibliotecas do Smarty, onde também fica localizada a classe
principal.
● /templetes Diretório padrão para localização dos templetes. São
arquivos de interface com o usuário.
● /templetes_c Diretório para cache. (Deve estar com permissão de
escrita.)
19. Smarty – Sintaxe
● Variável Reservada $smarty
● Essa variável reservada é utilizada para acessar variáveis especiais do
template. Como por exemplo: as variáveis request get, post, cookies,
server, enviroment e session. Exemplo:
●
● Se tem a seguinte URL http://www.domain.com/index.php?page=foo
●
●
20. Smarty – Sintaxe
● Variável Reservada $smarty
● Essa variável reservada é utilizada para acessar variáveis especiais do
template. Como por exemplo: as variáveis request get, post, cookies,
server, enviroment e session. Exemplo:
●
● Se tem a seguinte URL http://www.domain.com/index.php?page=foo
●
● Com {$smarty.get.page} mostra o valor de page da URL;
●
● Para {$smarty.post.page} mostra a variável ”page” de um
formulário. (POST)
●
● Para {$smarty.cookies.username} mostra o valor do cookie
"username.
21. Smarty – Sintaxe
Variável Reservada $smarty
●
●
● Para {$smarty.server.SERVER_NAME} mostra a variável do servidor
"SERVER_NAME".
●
● Para {$smarty.env.PATH} mostra a variável de ambiente do sistema
"PATH".
●
● Para {$smarty.session.id} mostra a variável ”id” de session do php.
22. Smarty – Sintaxe
Outras sintaxe reservadas do Smarty:
●
●
● {$smarty.now} – retorna o timestamp atual.
●
● {$smarty.capture} – captura a saída.
●
● {$smarty.template} contém o nome do template atual.
{$smarty.template}
●
● {$smarty.section}, {$smarty.foreach}
●
● {$smarty.ldelim} e {$smarty.rdelim}: delimitador esquerdo e direito.
23. Smarty – Sintaxe
Modificadores de Variáveis
●
● Para aplicálo deve usar a seguinte sintaxe:
● Valor | modificador
● Por exemplo:
●
● {$topico | truncate:40:"..."} {$articleTitle | capitalize}
●
● {$articleTitle | count_characters} {$articleTitle | cat:" yesterday."}
●
●
24. Smarty – Sintaxe
Modificadores de Variáveis
●
● Para aplicálo deve usar a seguinte sintaxe:
● Valor | modificador
● Por exemplo:
●
● {$topico | truncate:40:"..."} {$articleTitle | capitalize}
●
● {$articleTitle | count_characters} {$articleTitle | cat:" yesterday."}
●
● {$smarty.now | date_format:"%H:%M:%S"}
●
● {$articleTitle | replace:"Garden":"Vineyard"}
●
● {$articleTitle|count_paragraphs}
25. Smarty – Sintaxe
● Caching
● Usado para aumentar a velocidade de chamada para display() ou
fetch() salvando isso num arquivo de saída.
● Pode fazer coisas tremendamente rápidas, especialmente templetes
com longo tempo computacional.
● Desde que templetes sejam dinâmicos, é importante ter cuidado com
o que você está fazendo cache e por quanto tempo.
● Por exemplo, se você está mostrando a página principal do seu
website na qual as alterações de conteúdo são muito frequentes
(hora), isso funciona bem para cache dessa forma. Já um outro
modo, se você está mostrando uma página com um mapa do tempo
contendo novas informações por minuto, não faz sentido fazer cache
nesta página.
● Caching precisa ser configurado.
26. Smarty – Sintaxe
● Exemplo de caching
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;
$smarty->display('index.tpl');
Multiple Chaches per Page
27. Smarty – Sintaxe
● Plugins
● Plugins são determinadas funcionalidades com
características próprias à implementar junto ao Smarty.
●
● Estes sempre só são lidos quando requisitados.
●
● E cada plugin é lido apenas uma vez, mesmo se você tem
várias instâncias diferentes do Smarty rodando na mesma
requisição.
●
● O diretório de plugins pode ser uma string contendo um caminho ou um
array contendo multiplos caminhos. Para instalar um plugin, só coloque
em um dos diretórios e a Smarty irá usálo automaticamente.