<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: PHPWomenBR</title>
    <description>The latest articles on Forem by PHPWomenBR (@phpwomenbr).</description>
    <link>https://forem.com/phpwomenbr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1829%2Fede884eb-c1a7-42d4-ba5f-e77cbfa663e4.jpg</url>
      <title>Forem: PHPWomenBR</title>
      <link>https://forem.com/phpwomenbr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/phpwomenbr"/>
    <language>en</language>
    <item>
      <title>Manipulação de arquivos csv no PHP</title>
      <dc:creator>Daiane Alves</dc:creator>
      <pubDate>Mon, 15 Jun 2020 16:05:48 +0000</pubDate>
      <link>https://forem.com/phpwomenbr/manipulacao-de-arquivos-csv-no-php-5eeg</link>
      <guid>https://forem.com/phpwomenbr/manipulacao-de-arquivos-csv-no-php-5eeg</guid>
      <description>&lt;h1&gt;
  
  
  Manipulação de arquivos &lt;code&gt;csv&lt;/code&gt; com PHP
&lt;/h1&gt;

&lt;p&gt;O formato &lt;code&gt;csv&lt;/code&gt; é um tipo de arquivo de texto bastante utilizado para transferência de informações entre diferentes aplicações e também para geração de relatório.&lt;/p&gt;

&lt;p&gt;E para fazer esse tipo de troca de informações com sucesso, você precisa saber como manipular esses arquivos.&lt;/p&gt;

&lt;p&gt;Em linhas gerais, o &lt;code&gt;csv&lt;/code&gt; é um formato usado para armazenar dados e que pode ser lido em programas que trabalham com planilhas.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é &lt;code&gt;csv&lt;/code&gt;?
&lt;/h2&gt;

&lt;p&gt;Mas, antes de trabalhar com arquivos &lt;code&gt;csv&lt;/code&gt; no PHP, é importante entender em que consiste essa sigla. Por definição, &lt;code&gt;csv&lt;/code&gt; é um formato de arquivo que significa “comma-separated-values” (valores separados por vírgulas), ou seja,os campos de dados indicados neste formato normalmente são separados ou delimitados por uma vírgula.&lt;/p&gt;

&lt;p&gt;Para entender de uma forma mais prática, vamos supor que você tenha uma planilha que contenha os dados a seguir:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Daiane&lt;/th&gt;
&lt;th&gt;&lt;a href="mailto:daiane@teste.com"&gt;daiane@teste.com&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;912345678&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Adriele&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:drica@teste.com"&gt;drica@teste.com&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;987654321&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Livia&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:livia@teste.com"&gt;livia@teste.com&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;876543456&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bruna&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:bruna@teste.com"&gt;bruna@teste.com&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;998765678&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Esses dados poderiam ser lidos em um arquivo &lt;code&gt;csv&lt;/code&gt; separados por vírgulas e por um espaçamento de linha, como no exemplo a seguir:&lt;/p&gt;

&lt;p&gt;Daiane,&lt;a href="mailto:daiane@teste.com"&gt;daiane@teste.com&lt;/a&gt;,912345678&lt;br&gt;
Adriele,&lt;a href="mailto:drica@teste.com"&gt;drica@teste.com&lt;/a&gt;,987654321&lt;br&gt;
Livia,&lt;a href="mailto:livia@teste.com"&gt;livia@teste.com&lt;/a&gt;,876543456&lt;br&gt;
Bruna,&lt;a href="mailto:bruna@teste.com"&gt;bruna@teste.com&lt;/a&gt;,998765678&lt;/p&gt;

&lt;p&gt;Agora que você já entendeu o conceito básico sobre &lt;code&gt;csv&lt;/code&gt;, vamos aprender como podemos utilizar o PHP para fazer a manipulação desses arquivos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;OBS&lt;/strong&gt;: CSV é separado por vírgula e não ponto e vírgula.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Abrindo um arquivo &lt;code&gt;csv&lt;/code&gt; existente
&lt;/h2&gt;

&lt;p&gt;A função &lt;code&gt;fopen()&lt;/code&gt; pode ser utilizada tanto para abrir um arquivo quanto para criar um novo.&lt;/p&gt;

&lt;p&gt;Neste exemplo, vamos mostrar como abrir um arquivo existente. A função &lt;code&gt;fopen()&lt;/code&gt; recebe dois argumentos, o primeiro argumento recebe o nome do arquivo que deseja abrir e no segundo argumento o tipo de permissão(leitura, escrita, leitura e escrita...).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'nomeArquivo.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Criando um arquivo &lt;code&gt;csv&lt;/code&gt;
&lt;/h1&gt;

&lt;p&gt;Podemos também utilizar a função &lt;code&gt;fopen()&lt;/code&gt; para criar nosso arquivo &lt;code&gt;.csv&lt;/code&gt;.&lt;br&gt;
Veja o exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;//Abrir ou criar arquivo&lt;/span&gt;
&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'file.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ao executar esta função é criado automaticamente um arquivo vazio (com permissão de escrita, neste caso).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nota&lt;/strong&gt;: a função &lt;code&gt;fopen()&lt;/code&gt; pode ser utilizada para criar qualquer tipo de arquivo, basta colocar a extensão que deseja. Exemplo: &lt;code&gt;arquivo.txt&lt;/code&gt;, &lt;code&gt;arquivo.pdf&lt;/code&gt;, &lt;code&gt;arquivo.xls&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Inserindo dados no arquivo &lt;code&gt;csv&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Existem algumas maneiras de inserir dados em um arquivo &lt;code&gt;csv&lt;/code&gt;, uma delas é abrir o próprio arquivo e inserir os dados manualmente separados por vírgula. Mas, não é isso que iremos aprender...&lt;/p&gt;

&lt;p&gt;Vamos usar nosso bom e velho amigo PHP para isso!&lt;/p&gt;

&lt;p&gt;Para isso podemos utilizar a função &lt;code&gt;fputcsv()&lt;/code&gt;. Ela formata uma linha (passada como um array de campos &lt;code&gt;fields)&lt;/code&gt; como &lt;code&gt;CSV&lt;/code&gt; e a escreve (terminando com uma nova linha) no manipulador de arquivo especificado por &lt;code&gt;handle&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sintaxe
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$fields&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$delimiter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$enclosure&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$escape_char&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Parâmetros
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;$handle&lt;/code&gt; - O ponteiro de arquivo precisa ser válido, e apontar para um arquivo aberto por &lt;code&gt;fopen()&lt;/code&gt; (e ainda não fechado por &lt;code&gt;fclose()&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;$fields&lt;/code&gt; - Um array de valores.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;$delimiter&lt;/code&gt;- O parâmetro opcional delimiter configura o caractere delimitador (apenas um caractere). O padrão é vírgula.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;$enclosure&lt;/code&gt;- O parâmetro opcional enclosure configura o caractere que envolve os dados (apenas um caractere). O padrão é aspas, utilizado quando se tem quebra de linha ou vírgulas dentro do texto.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;$escape_char&lt;/code&gt;- O parâmetro opcional escape_char configura o caractere de escape (apenas um caractere). Utilizado para fazer o escape de uma aspa no meio de uma string.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Veja o exemplo abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Notebook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3587&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Celular'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2643&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'TV'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5876&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Fone'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;432&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Abrir/criar arquivo&lt;/span&gt;
&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'file.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Popular os dados&lt;/span&gt;
&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Fechar o arquivo&lt;/span&gt;
&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo começamos nosso arquivo criando um array que contém produtos e preços.&lt;br&gt;
Em seguida, criamos a variável &lt;code&gt;$arquivo&lt;/code&gt; que está recebendo a função &lt;code&gt;fopen()&lt;/code&gt;para criar um novo arquivo.&lt;br&gt;
Depois criamos um &lt;code&gt;foreach&lt;/code&gt; para percorrer nosso array e usamos a função &lt;code&gt;fputcsv()&lt;/code&gt; para gerar o output do &lt;code&gt;csv&lt;/code&gt;.&lt;br&gt;
E por último usamos a função &lt;code&gt;fclose()&lt;/code&gt; para fechar o arquivo.&lt;/p&gt;

&lt;p&gt;Ao executar este código teremos como saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Notebook&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3587&lt;/span&gt;
&lt;span class="nc"&gt;Celular&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2643&lt;/span&gt;
&lt;span class="no"&gt;TV&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5876&lt;/span&gt;
&lt;span class="nc"&gt;Fone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;432&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Criando cabeçalho
&lt;/h2&gt;

&lt;p&gt;O exemplo acima é bem útil, mas está faltando algo... Precisamos criar cabeçalhos pra nossa tabela final ficar mais intuitiva. Vamos lá?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Cabeçalho do csv&lt;/span&gt;
&lt;span class="nv"&gt;$headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Produto'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Preço'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Notebook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3587&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Celular'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2643&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'TV'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5876&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Fone'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;432&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'file.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Criar o cabeçalho&lt;/span&gt;
&lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$headers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Manipulando os dados
&lt;/h2&gt;

&lt;p&gt;Imagine que você necessite colocar os &lt;strong&gt;produtos&lt;/strong&gt; em ordem alfabética. Podemos utilizar a função &lt;code&gt;array_multisort()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Veja o exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Produto'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Preço'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Notebook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3587&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Celular'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2643&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'TV'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5876&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Fone'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;432&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'file.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$headers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$chave&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$produto&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$chave&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'produto'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="nv"&gt;$preco&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$chave&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'preco'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Ordenar array dados na coluna produto em ordem crescente.&lt;/span&gt;
&lt;span class="c1"&gt;// Pode usar SORT_DESC para ordem decrescente.&lt;/span&gt;
&lt;span class="nb"&gt;array_multisort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$produto&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;SORT_ASC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$dados&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt; &lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aqui nós utilizamos a função &lt;code&gt;array_multisort()&lt;/code&gt; para fazer a ordenação do nosso array. Para saber mais, consulte o &lt;a href="https://www.php.net/manual/pt_BR/function.array-multisort.php"&gt;manual do PHP&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Organizando preços em ordem decrescente
&lt;/h3&gt;

&lt;p&gt;Você também pode ordenar os preços utilizando a função &lt;code&gt;array_multisort()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Veja o exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Produto'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Preço'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Notebook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3587&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Celular'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2643&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'TV'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5876&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'produto'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Fone'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'preco'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;432&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'file.csv'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$headers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$chave&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$produto&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$chave&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'produto'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="nv"&gt;$preco&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$chave&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$valor&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'preco'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// SORT_ASC para ordem crescente&lt;/span&gt;
&lt;span class="nb"&gt;array_multisort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$preco&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;SORT_ASC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$dados&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dados&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;fputcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$linha&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$arquivo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;OBS&lt;/strong&gt;: fclose em muitos casos se faz desnecessário pois o PHP já fecha automaticamente quando encerra a execução de um script. É bom fechar mais para reduzir consumo de memória em scripts que fazem muita coisa como manipulação de muitos CSV.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Lendo um arquivo &lt;code&gt;csv&lt;/code&gt; existente
&lt;/h2&gt;

&lt;p&gt;No exemplo anterior, vimos que é possível criar e manipular arquivos &lt;code&gt;csv&lt;/code&gt; no PHP, agora vamos trabalhar com arquivos &lt;code&gt;csv&lt;/code&gt; já existentes. Para isso vamos utilizar a função &lt;code&gt;fgetcsv()&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;A função &lt;code&gt;fgetcsv()&lt;/code&gt; interpreta a linha em busca de campos no formato &lt;code&gt;csv&lt;/code&gt; e retorna um array contendo os campos lidos. Para conhecer um pouco mais sobre ela, acesse o &lt;a href="https://www.php.net/manual/pt_BR/function.fgetcsv.php"&gt;manual do PHP&lt;/a&gt;.&lt;br&gt;
Veja o exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"nota.csv"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"r"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fgetcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$row&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;fgetcsv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$nota&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;array_combine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$header&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$row&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;print_r&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$nota&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Executando esse código teríamos como saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Array
(
    [0] =&amp;gt; Array
        (
            [N°da Nota Fiscal] =&amp;gt; 87
            [Data da Emissão] =&amp;gt; 31/05/2020
            [Hora da Emissão] =&amp;gt; 14:27:25
            [Valor] =&amp;gt; 23764,40
        )

    [1] =&amp;gt; Array
        (
            [N°da Nota Fiscal] =&amp;gt; 86
            [Data da Emissão] =&amp;gt; 27/05/2020 
            [Hora da Emissão] =&amp;gt; 14:25:00
            [Valor] =&amp;gt; 549873,0
        )

    [2] =&amp;gt; Array
        (
            [N°da Nota Fiscal] =&amp;gt; 85
            [Data da Emissão] =&amp;gt; 27/05/2020 
            [Hora da Emissão] =&amp;gt; 14:03:41
            [Valor] =&amp;gt; 25876
        )

    [3] =&amp;gt; Array
        (
            [N°da Nota Fiscal] =&amp;gt; 84
            [Data da Emissão] =&amp;gt; 18/05/2020 
            [Hora da Emissão] =&amp;gt; 16:55:43
            [Valor] =&amp;gt; 150000
        )

)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E a partir daí você pode trabalhar com este arquivo da maneira que desejar.&lt;br&gt;
Esperamos que tenha curtido e bons estudos!&lt;/p&gt;

</description>
      <category>php</category>
      <category>csv</category>
      <category>developer</category>
      <category>code</category>
    </item>
    <item>
      <title>MeetJitsi - Ferramenta Open Source para vídeo conferência</title>
      <dc:creator>Daiane Alves</dc:creator>
      <pubDate>Sun, 15 Mar 2020 03:27:38 +0000</pubDate>
      <link>https://forem.com/phpwomenbr/meetjitsi-ferramenta-open-source-para-video-conferencia-1fmn</link>
      <guid>https://forem.com/phpwomenbr/meetjitsi-ferramenta-open-source-para-video-conferencia-1fmn</guid>
      <description>&lt;p&gt;Devido a pandemia de Covid-19, muitas empresas adotaram o trabalho remoto como alternativa de prevenção a doença.  O que muita gente não sabe é que este modelo de trabalho já existe oficialmente aqui no Brasil desde 1997 e surgiu durante o Seminário Home Office/Telecommuting – Perspectivas de Negócios e de Trabalho para o Terceiro Milênio e atualmente já é uma realidade em muitas empresas no Brasil e no exterior.&lt;/p&gt;

&lt;p&gt;Segundo a &lt;a href="http://ibopeconecta.com/para-85-dos-profissionais-reunioes-remotas-ja-oferecem-experiencia-tao-positiva-quanto-presenciais/"&gt;IBOPE Conecta&lt;/a&gt;,para 85% dos profissionais, reuniões remotas já oferecem experiência tão positiva quanto presenciais e não deixam nada a desejar e isso eu posso confirmar!&lt;/p&gt;

&lt;p&gt;Pensando nisso, vim mostrar uma ferramenta que utilizamos demais no nosso dia a dia para fazer nossas reuniões on line (tanto pelo computador como no celular): o &lt;a href="https://meet.jit.si/"&gt;MeetJitsi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;O &lt;a href="https://meet.jit.si/"&gt;MeetJitsi&lt;/a&gt; é uma solução de vídeo conferência Open Source, 100% criptografada e você pode utilizar sem precisar criar conta. Incrível, não é mesmo?!&lt;/p&gt;

&lt;p&gt;Para utilizar:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Acesse (de preferência) no Google Chrome ou Chromium o site &lt;a href="https://meet.jit.si/"&gt;MeetJitsi&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Crie um nome para sua sala reunião.&lt;/li&gt;
&lt;li&gt;Clique no botão &lt;strong&gt;ir&lt;/strong&gt; ou &lt;strong&gt;go&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;Ative as permissões de acesso a sua câmera e seu microfone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;E pronto! Sua sala de reuniões está pronta para ser utilizada, agora é só compartilhar o link com seus convidados. Simples assim...&lt;/p&gt;

&lt;p&gt;Fácil demais! E pode ser ainda mais fácil!&lt;/p&gt;

&lt;p&gt;Você pode simplificar todo este processo digitando a url direto no navegador. Exemplo: &lt;a href="https://meet.jitsi/NomeDaSala"&gt;https://meet.jitsi/NomeDaSala&lt;/a&gt; e sempre que precisar daquela sala é só usar, não é necessário criar uma sala nova para cada vez que for usar (a menos que você queira).&lt;/p&gt;

&lt;p&gt;Além disso, você ainda pode sincronizar e com sua agenda e ser notificado de suas reuniões.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conhecendo a interface
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3rq5G9KP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/DaianeAlvesRJ/imagens/master/img/meetjitsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3rq5G9KP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/DaianeAlvesRJ/imagens/master/img/meetjitsi.png" alt="" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compartilhar tela.
Com esta opção você pode compartilhar a sua tela com seus convidados. Além disso, você pode escolher qual janela você quer compartilhar.&lt;/li&gt;
&lt;li&gt;Erguer / baixar mãos - com esta opção, você pode acenar para dizer que quer falar alguma coisa.&lt;/li&gt;
&lt;li&gt;Abrir/fechar bate-papo - Você pode usar esta opção para abrir um chat simultâneo com todas as pessoas da sala. É útil para caso você deseja compartilhar um link, por exemplo.&lt;/li&gt;
&lt;li&gt;Mudo/não mudo - Aqui você pode ativar e desativar seu microfone.&lt;/li&gt;
&lt;li&gt;Encerrar chamada.&lt;/li&gt;
&lt;li&gt;Ativar e desativar câmera.&lt;/li&gt;
&lt;li&gt;Alternar visualização em blocos - Aqui você pode visualizar todos os participantes da sala em bloco.&lt;/li&gt;
&lt;li&gt;Compartilhar link e discagem para esta reunião - Você pode utilizá-lo para compartilhar com seus convidados.&lt;/li&gt;
&lt;li&gt;Mais ações - Nesta opção tem uma série de recursos extras como: gravar, configurar, compartilhar no youtube e várias outras coisas.
10- URL da sua sala - como já foi dito no começo deste artigo, você pode criar uma url personalizada para sua sala. Exemplo: &lt;a href="https://meet.jitsi/NomeDaSala"&gt;https://meet.jitsi/NomeDaSala&lt;/a&gt; e sempre que precisar daquela sala é só usar, não é necessário criar uma sala nova para cada vez que for usar (a menos que você queira).&lt;/li&gt;
&lt;li&gt;Tempo de duração da sua reunião.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pronto! Agora você já sabe tudo que precisa para realizar suas vídeo conferências, é só aproveitar!&lt;/p&gt;

</description>
      <category>opensource</category>
    </item>
    <item>
      <title>Por mais mulheres na tecnologia: Grupo de incentivo PHPWomen-BR</title>
      <dc:creator>Viviane Nonato</dc:creator>
      <pubDate>Fri, 07 Feb 2020 16:03:51 +0000</pubDate>
      <link>https://forem.com/phpwomenbr/por-mais-mulheres-na-tecnologia-grupo-de-incentivo-phpwomen-rj-370i</link>
      <guid>https://forem.com/phpwomenbr/por-mais-mulheres-na-tecnologia-grupo-de-incentivo-phpwomen-rj-370i</guid>
      <description>&lt;p&gt;Sabemos que a inclusão da mulher nas áreas de ciência e tecnologia é imprescindível para que inovações como essas aconteçam e transformem o mundo para melhor. Com isto, a comunidade PHPWomen vem trazendo eventos periódicos que estimulam e incentivam mulheres a programar, ajudando também a inseri-las no mercado de trabalho.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DJ51yR3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ad2zrj5t9n412bo9oz8g.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DJ51yR3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ad2zrj5t9n412bo9oz8g.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No dia 20 de julho de 2019, aconteceu mais um encontro do PHPWomen, na Infnet, unidade Rio de Janeiro. Uma das responsáveis pela coordenação é a mentora Daiane Alves, analista de sistemas e estudante de Sistemas de Informação. Um evento de mulheres organizados por mulheres, que contou com a colaboração de Adriele Ribeiro, professora da FUNDEC, ministrando aulas de programação, dando uma oficina de quase 8 horas de estudo, exercícios práticos e aperfeiçoamento da linguagem PHP. As participantes contaram com mentorias técnicas para quem estivesse com dúvidas, pela engenheira de software Bruna Leiras e pela Designer UI Luanda Pereira.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sni_8khO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/88fov03b91r4qt58flgn.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sni_8khO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/88fov03b91r4qt58flgn.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em sua 2ª edição, o evento da comunidade PhpWomen vem trazendo oficinas e palestras com exercícios abordando a documentação do php.net, com uma didática multidisciplinar e metodologia de aprendizado colaborativo, se tornando um encontro de mulheres de tecnologia e desenvolvimento no Rio de Janeiro, onde mais iniciantes estão se interessando a aprender a programar e a estarem avançando em seus estudos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e7C5fiyc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ksf2vjkpbfyzcbdc2a6w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e7C5fiyc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ksf2vjkpbfyzcbdc2a6w.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Caso você tenha interesse em conhecer PHPWomen, é um movimento de mulheres na tecnologia pelo mundo. No Rio você pode acessar Meetup (&lt;a href="https://www.meetup.com/pt-BR/topics/php-women/br/"&gt;https://www.meetup.com/pt-BR/topics/php-women/br/&lt;/a&gt;) ou participar pelos grupos do Telegram PHPRio, comunidade aberta de pessoas que trabalham com PHP.&lt;/p&gt;

</description>
      <category>php</category>
      <category>phpwomen</category>
    </item>
    <item>
      <title>Jigsaw - Gerador de sites estáticos em PHP</title>
      <dc:creator>Daiane Alves</dc:creator>
      <pubDate>Sat, 07 Dec 2019 14:14:41 +0000</pubDate>
      <link>https://forem.com/phpwomenbr/jigsaw-gerador-de-sites-estaticos-em-php-4cob</link>
      <guid>https://forem.com/phpwomenbr/jigsaw-gerador-de-sites-estaticos-em-php-4cob</guid>
      <description>&lt;h1&gt;
  
  
  Introdução
&lt;/h1&gt;

&lt;p&gt;Jigsaw é um framework baseado em Laravel que gera site estático em PHP. Foi desenvolvido pela empresa Tighten em maio de 2015, possui uma boa documentação e a comunidade é bem ativa.&lt;br&gt;
Trata-se de uma aplicação que você pode utilizar em seu computador e que tem como saída os arquivos estáticos como: HTML, CSS e JavaScript.&lt;br&gt;
Seu deploy pode ser feito em qualquer servidor web que provê conteúdo estático e se não quiser ter custos, pode publicar no GitHub Pages.&lt;/p&gt;
&lt;h1&gt;
  
  
  Iniciando um projeto
&lt;/h1&gt;

&lt;p&gt;Para iniciar um projeto com Jigsaw é bem simples! Primeiro você deve abrir o terminal, criar uma pasta com o nome do seu projeto e em seguida acessar sua pasta. Para isso digite os seguintes comandos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir &lt;/span&gt;my-site &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;my-site
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Instalando Jigsaw com Composer
&lt;/h2&gt;

&lt;p&gt;Vamos utilizar o Composer (gerenciador de dependências do PHP) para fazer a instalação do Jigsaw no nosso projeto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require tightenco/jigsaw
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Inicializando o projeto
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./vendor/bin/jigsaw init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após iniciar o projeto você terá a seguinte estrutura de pastas:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iNcrHr1O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/DaianeAlvesRJ/imagens/master/jigsaw/estrutura-pastas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iNcrHr1O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/DaianeAlvesRJ/imagens/master/jigsaw/estrutura-pastas.png" alt="" width="212" height="361"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Desenvolvimento - servidor local
&lt;/h2&gt;

&lt;p&gt;Você pode acompanhar o desenvolvimento do site acessando o localhost:8000 após rodar o build e em seguida o serve.&lt;br&gt;&lt;br&gt;
Sempre que fizer alguma alteração e quiser acompanhar terá que rodar o build pois ele não carrega automaticamente as alterações.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./vendor/bin/jigsaw build

./vendor/bin/jigsaw serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Compilando com Laravel Mix
&lt;/h2&gt;

&lt;p&gt;Você também pode usar o Laravel para compilar e visualizar as alterações automaticamente utilizando o Browsersync. Para isso precisa instalar o NPM.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois disso digite o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run watch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Desta maneira o Browsersync abrirá automaticamente uma nova guia do navegador e recarregará a página toda vez que você fizer uma alteração. Muito útil para visualizar suas alterações rapidamente!&lt;/p&gt;

&lt;h2&gt;
  
  
  Tipos de conteúdo
&lt;/h2&gt;

&lt;p&gt;Todo o conteúdo do seu site deve ser armazenado na pasta source. O Jigsaw permite criar arquivos usando vários formatos, como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Laravel's Blade&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Markdown&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ou vários outros tipos de arquivo&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Laravel's Blade
&lt;/h3&gt;

&lt;p&gt;Também é possível criar sites usando Blade que é o sistemas de templates padrão do Laravel. Para isso, basta criar seus arquivos na pasta source como &lt;code&gt;[nome_do_arquivo].blade.php&lt;/code&gt;&lt;br&gt;
Você pode conferir como funciona o Blade na &lt;a href="https://laravel.com/docs/5.8/blade"&gt;documentação oficial do Laravel&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Markdown
&lt;/h3&gt;

&lt;p&gt;Para este tutorial, optei por mostrar como criar os arquivos usando Markdown.&lt;/p&gt;

&lt;p&gt;Markdown é uma linguagem de marcação desenvolvida por John Gruber e Aaron Swartz. Ela é projetada para que textos simples possam ser convertidos em HTML e muitos outros formatos.&lt;/p&gt;

&lt;p&gt;Com ela é possível marcar títulos, listas, tabelas, etc., de forma muito mais limpa, legível e precisa, do que se fosse fazer com HTML que é muito verboso.&lt;/p&gt;
&lt;h2&gt;
  
  
  Configurações do site
&lt;/h2&gt;

&lt;p&gt;Uma maneira de agilizar o trabalho é definindo variáveis de configuração do site. Imaginem que, por exemplo, o e-mail esteja disponível em diversas partes do site e que por algum motivo você tenha que alterar. Você até poderia utilizar um find/replace, mas com o Jigsaw é muito simples. Basta adicionar o email no array do arquivo &lt;code&gt;config.php&lt;/code&gt; que será acessível em todo projeto, como uma propriedade do objeto &lt;code&gt;$page&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Por exemplo, se o seu &lt;code&gt;config.php&lt;/code&gt; estiver assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'contact_email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'support@example.com'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Você pode usar essa variável em qualquer arquivo do site, assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'_layouts.master'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nf"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Entre&lt;/span&gt; &lt;span class="n"&gt;em&lt;/span&gt; &lt;span class="n"&gt;contato&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;contact_email&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;stop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Helpers
&lt;/h2&gt;

&lt;p&gt;Além de armazenar variáveis no arquivo &lt;code&gt;config.php&lt;/code&gt;, podemos definir &lt;code&gt;helpers&lt;/code&gt; adicionando uma chave com o nome da função. Os helpers são chamados referenciando o nome do método no objeto &lt;code&gt;$page&lt;/code&gt; em qualquer arquivo.&lt;/p&gt;

&lt;p&gt;Por exemplo, você pode adicionar um método que identifica se a página atual pertence a uma seção específica, para realçar a seção atual em um menu:&lt;/p&gt;

&lt;p&gt;Essa função é acessível chamando &lt;code&gt;$page-&amp;gt;selected("url-da-pagina")&lt;/code&gt; de qualquer página.&lt;/p&gt;

&lt;p&gt;Veja o exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'company'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Lyseon Tech'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'selected'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$section&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;str_contains&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;getPath&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nv"&gt;$section&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;'selected'&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois disso, dentro do diretório &lt;code&gt;source&lt;/code&gt;, crie a pasta &lt;code&gt;_partials&lt;/code&gt; (nela você pode dividir o seu site em partes como menu e footer). Agora, podemos criar um menu que destaque se uma página está selecionada, para isso crie o arquivo: &lt;code&gt;_menu.blade.php&lt;/code&gt; e nele coloque o seguinte código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nc"&gt;.selected&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;selected('about') }}"&lt;/span&gt;
    &lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;baseUrl }}/about"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Sobre&lt;/span&gt; &lt;span class="nt"&gt;nós&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;selected('projects') }}"&lt;/span&gt;
    &lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;baseUrl }}/projects"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Projetos&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;selected('posts') }}"&lt;/span&gt;
    &lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"{{ $page-&amp;gt;baseUrl }}/blog"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;Blog&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ps: Ignore o style junto com o html, usei apenas para exemplificar.&lt;br&gt;
No arquivo &lt;code&gt;_layouts/master.blade.php&lt;/code&gt; inclua o menu digitando &lt;code&gt;@include('_partials._menu')&lt;/code&gt;&lt;br&gt;
E por último, para que você consiga ver seu menu funcionando, é preciso criar um arquivo no diretório &lt;code&gt;source&lt;/code&gt;, nesse exemplo criei o arquivo &lt;code&gt;about&lt;/code&gt; (Sobre nós).&lt;br&gt;
Prontinho! Se estiver usando o Browsersync você já consegue ver o menu funcionando no seu navegador.&lt;/p&gt;
&lt;h2&gt;
  
  
  Collections
&lt;/h2&gt;

&lt;p&gt;O Jigsaw fornece recursos trabalhar com collections. As collections podem ser usadas para gerar páginas como por exemplo de postagens de blog ou artigos. Pode ser usada também para incorporar blocos de conteúdo de uma página, como biografias da equipe, descrições de produtos ou um portfólio de projetos.&lt;/p&gt;

&lt;p&gt;Para criar uma collection é bem simples, crie uma chave chamada collections no array de configuração do arquivo &lt;code&gt;config.php&lt;/code&gt; . Cada collection deve ser indicada pelo nome da collection (normalmente, no plural), seguido por um array de configurações.&lt;br&gt;
Veja o exemplo a seguir:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'company'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Lyseon Tech'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'contact_email'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'support@tighten.co'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'collections'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'posts'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'path'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'blog/{date|Y-m-d}/{filename}'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'author'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Daiane'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Layout das páginas de post
&lt;/h3&gt;

&lt;p&gt;Crie o arquivo &lt;code&gt;post.blade.php&lt;/code&gt; dentro da pasta &lt;code&gt;_layouts&lt;/code&gt; e chamar as variáveis que foram definidas no seu arquivo &lt;code&gt;config.php&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'_layouts.master'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nf"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'body'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;By&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;author&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt; &lt;span class="err"&gt;•&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nb"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'F j, Y'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;yield&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Total&lt;/span&gt; &lt;span class="n"&gt;de&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$posts&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;count&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt; &lt;span class="n"&gt;posts&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Listagem&lt;/span&gt;&lt;span class="o"&gt;:&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$posts&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"{{ &lt;/span&gt;&lt;span class="nv"&gt;$page-&amp;gt;selected&lt;/span&gt;&lt;span class="s2"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$post-&amp;gt;_meta&lt;/span&gt;&lt;span class="s2"&gt;-&amp;gt;url[0]) }}"&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;{$post-&amp;gt;_meta-&amp;gt;url[0]}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;endforeach&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;endsection&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Pasta para armazenar os posts
&lt;/h3&gt;

&lt;p&gt;Crie a pasta &lt;code&gt;_post&lt;/code&gt; dentro da pasta &lt;code&gt;source&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Criando um item em uma Collection
&lt;/h3&gt;

&lt;p&gt;Na pasta pasta &lt;code&gt;_post&lt;/code&gt; criaremos nosso primeiro post em markdown para isso crie um arquivo &lt;code&gt;[nome_do_arquivo].md&lt;/code&gt; seguindo o modelo abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;extends&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;_layouts.post&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Meu&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;primeiro&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Post"&lt;/span&gt;
&lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Daiane&lt;/span&gt;
&lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2017-03-23&lt;/span&gt;
&lt;span class="na"&gt;section&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;content&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

Jigsaw é um poderoso gerador de &lt;span class="gs"&gt;**site estático**&lt;/span&gt; em PHP!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Sumário da collection &lt;code&gt;posts&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Para termos um sumário de posts em ´/blog´, crie na raiz da pasta source o arquivo &lt;code&gt;blog.blade.php&lt;/code&gt; conforme a raiz do path informado na collection posts no arquivo de configuração do site.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'_layouts.master'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nf"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'body'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$posts&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;{$post-&amp;gt;_meta-&amp;gt;url[0]}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;endforeach&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Listagem&lt;/span&gt; &lt;span class="n"&gt;de&lt;/span&gt; &lt;span class="n"&gt;posts&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;endsection&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E assim temos nosso site utilizando Jigsaw.&lt;/p&gt;

&lt;h2&gt;
  
  
  Veja também:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BisUfljB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://jigsaw.tighten.co/docs" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BisUfljB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://jigsaw.tighten.co/docs" alt="documentaçãção do Jigsaw" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se quiser conferir esse projeto no meu GitHub &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hL62-JPt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/DaianeAlvesRJ/Jigsaw" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hL62-JPt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/DaianeAlvesRJ/Jigsaw" alt="clique aqui" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>blade</category>
      <category>staticsite</category>
    </item>
  </channel>
</rss>
