<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Web - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/web/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Thu, 12 Sep 2024 13:36:31 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Como gerar números primos em JavaScript</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-javascript/como-gerar-numeros-primos-em-javascript/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-javascript/como-gerar-numeros-primos-em-javascript/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 12 Sep 2024 13:36:31 +0000</pubDate>
				<category><![CDATA[Programação em JavaScript]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20278</guid>

					<description><![CDATA[<p>Gerar números primos em JavaScript Neste tutorial vou mostrar como criar um script relativamente simples em JavaScript que permite aos usuários gerarem uma lista com números primos, iniciando em 2 (que é o primeiro número primo) até um valor informado pelo usuário, que será o limite da lista gerada. Um número é considerado primo se ele for maior que um e divisível (no caso, divisão inteira) apenas por si próprio e por 1. Por exemplo: O número 23 é um número primo, pois ele só é divisível por 23 (ele próprio) e por 1. Já o número 24 não é primo, pois além de ser divisível por si mesmo e por 1, ele também é divisível por outros números, como 2, 3, 4 e 6. O número 1 não é considerado um número primo na matemática. Script que gera números primos em JavaScript O nosso script deverá realizar as seguintes tarefas: Calcular e mostrar na tela os números primos de 2 até um valor fornecido pelo usuário, usando JavaScript O numero fornecido pelo usuário será digitado em uma caixa de texto em uma página HTML Os números gerados serão exibidos no corpo do documento, um por linha. A geração dos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-javascript/como-gerar-numeros-primos-em-javascript/">Como gerar números primos em JavaScript</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Gerar números primos em JavaScript</h1>
<p>Neste tutorial vou mostrar como criar um script relativamente simples em <a href="https://www.bosontreinamentos.com.br/category/programacao-em-javascript/">JavaScript</a> que permite aos usuários gerarem uma lista com números primos, iniciando em 2 (que é o primeiro número primo) até um valor informado pelo usuário, que será o limite da lista gerada.</p>
<p>Um número é considerado primo se ele for maior que um e divisível (no caso, divisão inteira) apenas por si próprio e por 1. Por exemplo:</p>
<ul>
<li>O número 23 é um número primo, pois ele só é divisível por 23 (ele próprio) e por 1.</li>
<li>Já o número 24 não é primo, pois além de ser divisível por si mesmo e por 1, ele também é divisível por outros números, como 2, 3, 4 e 6.</li>
</ul>
<p>O número 1 não é considerado um número primo na matemática.</p>
<h2>Script que gera números primos em JavaScript</h2>
<p>O nosso script deverá realizar as seguintes tarefas:</p>
<ol>
<li>Calcular e mostrar na tela os números primos de 2 até um valor fornecido pelo usuário, usando JavaScript</li>
<li>O numero fornecido pelo usuário será digitado em uma caixa de texto em uma página HTML</li>
<li>Os números gerados serão exibidos no corpo do documento, um por linha.</li>
<li>A geração dos valores se dará após o usuário clicar em um botão btnGeraPrimos.</li>
<li>O código JavaScript será declarado no cabeçalho da página HTML, para melhor organização do código, e invocado no botão.</li>
<li>Adicionar validação: se o usuário fornecer um número negativo, avisar que não é possível gerar a sequência de primos.</li>
<li>Mais validação: se o usuário informar um caractere que não seja um número, será avisado de que não é possível gerar a sequência de primos.</li>
</ol>
<p>Também iremos estilizar o formulário e a saída gerada usando CSS, em um arquivo separado de folha de estilos, que chamaremos de <em><strong>estilos.css</strong></em>.</p>
<p>Vamos à codificação.</p>
<h2>Códigos em HTML, CSS e JavaScript</h2>
<p><strong>1. Página HTML com JavaScript: arquivo <em>index.html</em></strong></p>
<div>
<pre><strong>&lt;!DOCTYPE html&gt;</strong>
<strong>&lt;html lang="pt-BR"&gt;</strong>
<strong>&lt;head&gt;</strong>
<strong>    &lt;meta charset="UTF-8"&gt;</strong>
<strong>    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</strong>
<strong>    &lt;title&gt;Gerador de Números Primos&lt;/title&gt;</strong>
<strong>    &lt;link rel="stylesheet" href="estilos.css"&gt;</strong>
<strong>    &lt;script&gt;</strong>
<strong>        <span style="color: #339966;">// Função para verificar se um número é primo</span></strong>
<strong>        function ePrimo(num) {</strong>
<strong>            if (num &lt; 2) return false;</strong>
<strong>            for (let i = 2; i &lt;= Math.sqrt(num); i++) {</strong>
<strong>                if (num % i === 0) return false;</strong>
<strong>            }</strong>
<strong>            return true;</strong>
<strong>        }

</strong><strong>        <span style="color: #339966;">// Função para gerar e exibir os números primos</span></strong>
<strong>        function gerarPrimos() {</strong>
<strong>            // Limpa as mensagens e a saída anterior</strong>
<strong>            document.getElementById('mensagemErro').innerHTML = '';</strong>
<strong>            document.getElementById('saida').innerHTML = '';</strong>
<strong>            // Obter o valor inserido pelo usuário</strong>
<strong>            let valor = document.getElementById('inputNumero').value;</strong>
<strong>            // Verificar se o valor é um número válido</strong>
<strong>            if (isNaN(valor) || valor.trim() === '') {</strong>
<strong>                document.getElementById('mensagemErro').innerHTML = 'Por favor, insira um número válido.';</strong>
<strong>                return;</strong>
<strong>            }</strong>
<strong>            valor = parseInt(valor);

</strong><strong>            <span style="color: #339966;">// Validação de número negativo</span></strong>
<strong>            if (valor &lt; 2) {</strong>
<strong>                document.getElementById('mensagemErro').innerHTML = 'Por favor, insira um número maior que 1 para gerar números primos.';</strong>
<strong>                return;</strong>
<strong>            }</strong>
<strong>            let primos = [];</strong>
<strong>            // Calcular os números primos</strong>
<strong>            for (let i = 2; i &lt;= valor; i++) {</strong>
<strong>                if (ePrimo(i)) {</strong>
<strong>                    primos.push(i);</strong>
<strong>                }</strong>
<strong>            }

</strong><strong>            <span style="color: #339966;">// Exibir os números primos</span></strong>
<strong>            const saida = document.getElementById('saida');</strong>
<strong>            if (primos.length &gt; 0) {</strong>
<strong>                primos.forEach(function(primo) {</strong>
<strong>                    saida.innerHTML += primo + '&lt;br&gt;';</strong>
<strong>                });</strong>
<strong>            } else {</strong>
<strong>                saida.innerHTML = 'Nenhum número primo encontrado.';</strong>
<strong>            }</strong>
<strong>        }</strong>
<strong>    &lt;/script&gt;</strong>
<strong>&lt;/head&gt;

</strong><strong>&lt;body&gt;</strong>
<strong>&lt;div class="container"&gt;</strong>
<strong>    &lt;h1&gt;Gerador de Primos&lt;/h1&gt;</strong>
<strong>    &lt;label for="inputNumero"&gt;Digite um número:&lt;/label&gt;</strong>
<strong>    &lt;input type="text" id="inputNumero" placeholder="Ex: 50"&gt;</strong>
<strong>    &lt;div class="error" id="mensagemErro"&gt;&lt;/div&gt;</strong>
<strong>    &lt;button id="btnGeraPrimos" onclick="gerarPrimos()"&gt;Gerar Primos&lt;/button&gt;</strong>
<strong>    &lt;div class="output" id="saida"&gt;&lt;/div&gt;</strong>
<strong>&lt;/div&gt;</strong>
<strong>&lt;/body&gt;</strong>
<strong>&lt;/html&gt;</strong></pre>
</div>
<p><strong>2. Folha de estilos externa: arquivo estilos.css</strong></p>
<div>
<pre><strong>body {</strong>
<strong>    font-family: Arial, sans-serif;</strong>
<strong>    background-color: #f4f4f4;</strong>
<strong>    margin: 0;</strong>
<strong>    padding: 0;</strong>
<strong>    display: flex;</strong>
<strong>    justify-content: center;</strong>
<strong>    align-items: center;</strong>
<strong>    height: 100vh;</strong>
<strong>}</strong>
<strong>.container {</strong>
<strong>    background-color: white;</strong>
<strong>    padding: 20px;</strong>
<strong>    border-radius: 10px;</strong>
<strong>    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);</strong>
<strong>    max-width: 400px;</strong>
<strong>    width: 100%;</strong>
<strong>}</strong>
<strong>h1 {</strong>
<strong>    text-align: center;</strong>
<strong>    color: #333;</strong>
<strong>}</strong>
<strong>label {</strong>
<strong>    font-size: 16px;</strong>
<strong>    margin-bottom: 10px;</strong>
<strong>    display: block;</strong>
<strong>}</strong>
<strong>input[type="text"] {</strong>
<strong>    width: 100%;</strong>
<strong>    padding: 10px;</strong>
<strong>    margin-bottom: 10px;</strong>
<strong>    border: 1px solid #ccc;</strong>
<strong>    border-radius: 5px;</strong>
<strong>    font-size: 16px;</strong>
<strong>}</strong>
<strong>.error {</strong>
<strong>    color: red;</strong>
<strong>    font-size: 14px;</strong>
<strong>    margin-bottom: 10px;</strong>
<strong>}</strong>
<strong>.success {</strong>
<strong>    color: green;</strong>
<strong>}</strong>
<strong>button {</strong>
<strong>    width: 100%;</strong>
<strong>    padding: 10px;</strong>
<strong>    background-color: #4CAF50;</strong>
<strong>    color: white;</strong>
<strong>    border: none;</strong>
<strong>    border-radius: 5px;</strong>
<strong>    font-size: 16px;</strong>
<strong>    cursor: pointer;</strong>
<strong>}</strong>
<strong>button:hover {</strong>
<strong>    background-color: #45a049;</strong>
<strong>}</strong>
<strong>.output {</strong>
<strong>    margin-top: 20px;</strong>
<strong>    background-color: #f9f9f9;</strong>
<strong>    padding: 10px;</strong>
<strong>    border-radius: 5px;</strong>
<strong>    height: 200px;</strong>
<strong>    overflow-y: auto;</strong>
<strong>    border: 1px solid #ccc;</strong>
<strong>}</strong></pre>
</div>
<h4>Teste da aplicação</h4>
<p>Vamos abrir a página e pedir para que sejam gerados os números primos até 33:</p>
<p><img decoding="async" class="aligncenter wp-image-20280 size-full" title="Gerador de Números Primos em JavaScript" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript.jpg" alt="Gerador de Números Primos em JavaScript" width="456" height="503" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript.jpg 456w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript-381x420.jpg 381w" sizes="(max-width: 456px) 100vw, 456px" /></p>
<p>Caso o usuário tente gerar a sequência fornecendo um número negativo ou um caractere não-numérico, será exibida a mensagem de erro e a sequência de números primos não será gerada:</p>
<div id="attachment_20281" style="width: 462px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-20281" class="wp-image-20281 size-full" title="Como gerar números primos com JavaScript" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript-erro.jpg" alt="Como gerar números primos com JavaScript" width="452" height="538" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript-erro.jpg 452w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/09/gerador-primos-javascript-erro-353x420.jpg 353w" sizes="auto, (max-width: 452px) 100vw, 452px" /><p id="caption-attachment-20281" class="wp-caption-text">Foi fornecido o número -5 (negativo), por isso a mensagem de erro.</p></div>
<h3>Funcionamento do Código</h3>
<p><strong>HTML:</strong> O formulário possui um campo de entrada (input) no qual o usuário digita um número, e um botão para invocar a função JavaScript que gera os números primos. Há uma área para exibir os erros de validação logo abaixo e uma área de saída para exibir os números primos.</p>
<p><strong>CSS:</strong> A página está estilizada para ter uma aparência limpa e amigável, como é sempre recomendável. Centralizamos o formulário na página e os elementos como caixas de texto e botões têm um design agradável, com cor de fundo verde para o botão e texto de mensagem de erro em vermelho &#8211; mas você pode alterar isso à vontade, evidentemente.</p>
<p>A saída dos números primos será em uma área de rolagem (output), que facilita a visualização dos números, caso sejam gerados muitos.</p>
<p><strong>JavaScript</strong>: O código JavaScript foi inserido no cabeçalho da página, e consiste em duas funções com tarefas específicas:</p>
<ul>
<li>ePrimo: Função que verifica se um número é primo. Ela percorre os divisores do número até sua raiz quadrada.</li>
<li>gerarPrimos: Função principal que é chamada ao clicar no botão. Ela valida a entrada do usuário, calcula os números primos até o valor fornecido, e os exibe no corpo da página.</li>
</ul>
<p>Também são realizadas validações: Se o valor fornecido não for um número, ou se for um número negativo, uma mensagem de erro é exibida.</p>
<h3>Conclusão</h3>
<p>Neste post mostrei um script simples para gerar uma listagem de números primos, que você pode &#8211; e deve &#8211; usar para estudar a linguagem e se aprofundar nas suas técnicas de programação.</p>
<p>Nos próximos artigos veremos scripts para resolver diversos outros problemas, sempre com esse foco: o aprendizado da linguagem JavaScript.</p>
<p>Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-javascript/como-gerar-numeros-primos-em-javascript/">Como gerar números primos em JavaScript</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-javascript/como-gerar-numeros-primos-em-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exemplos do comando curl no Linux &#8211; Tutorial completo</title>
		<link>https://www.bosontreinamentos.com.br/linux/exemplos-do-comando-curl-no-linux-tutorial-completo/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/exemplos-do-comando-curl-no-linux-tutorial-completo/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 04 May 2023 12:12:07 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19369</guid>

					<description><![CDATA[<p>8 exemplos do comando curl no Linux O comando curl é uma ferramenta útil para transferir dados de e para um servidor, local ou remoto, diretamente a partir do terminal do Linux. Ele é usado para baixar arquivos usando protocolos como HTTP, HTTPS, FTP, MQTT, IMAPS e SCP, entre outros. A ferramenta fornece diversas opções que nos permitem, por exemplo, baixar vários arquivos de uma vez, parar e continuar um download, limitar a largura de banda usada, fazer downloads em segundo plano, e muitas outras. Instalação do curl Muitas vezes o curl já vem pré-instalado nas distribuições Linux. Se ele não estiver instalado na distro usada, basta usar o gerenciador de pacotes padrão para instalá-lo. Por exemplo, para instalar o curl no Linux Debian, Ubuntu e derivados: $ sudo apt install curl E para instalar o curl no Fedora, Red Hat e derivados: $ sudo yum install curl Sintaxe do curl A sintaxe do comando curl é a seguinte: curl [opções] url onde: [opções]: Se refere a uma das múltiplas opções disponíveis para o comando &#8211; literalmente, dezenas. Para conhecer todas, consulte a página de manual da ferramenta. url: Endereço do arquivo ou diretório que queremos baixar. Obrigatório. Se não [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/exemplos-do-comando-curl-no-linux-tutorial-completo/">Exemplos do comando curl no Linux &#8211; Tutorial completo</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>8 exemplos do comando curl no Linux</h2>
<p>O comando <strong>curl</strong> é uma ferramenta útil para transferir dados de e para um servidor, local ou remoto, diretamente a partir do terminal do Linux. Ele é usado para baixar arquivos usando protocolos como HTTP, HTTPS, FTP, MQTT, IMAPS e SCP, entre outros.</p>
<p>A ferramenta fornece diversas opções que nos permitem, por exemplo, baixar vários arquivos de uma vez, parar e continuar um download, limitar a largura de banda usada, fazer downloads em segundo plano, e muitas outras.</p>
<h3>Instalação do curl</h3>
<p>Muitas vezes o curl já vem pré-instalado nas distribuições Linux. Se ele não estiver instalado na distro usada, basta usar o gerenciador de pacotes padrão para instalá-lo.</p>
<p>Por exemplo, para instalar o curl no Linux Debian, Ubuntu e derivados:</p>
<pre><strong>$ sudo apt install curl</strong></pre>
<p>E para instalar o curl no Fedora, Red Hat e derivados:</p>
<pre><strong>$ sudo yum install curl</strong></pre>
<h3>Sintaxe do curl</h3>
<p>A sintaxe do comando curl é a seguinte:</p>
<pre><span style="color: #800080;"><strong>curl [opções] url</strong></span></pre>
<p>onde:</p>
<ul>
<li><strong>[opções]</strong>: Se refere a uma das múltiplas opções disponíveis para o comando &#8211; literalmente, dezenas. Para conhecer todas, consulte a página de manual da ferramenta.</li>
<li><strong>url</strong>: Endereço do arquivo ou diretório que queremos baixar. Obrigatório.</li>
</ul>
<p>Se não for especificado um protocolo nas opções usadas, a ferramenta tentará deduzir qual protocolo usar, geralmente escolhendo o padrão, que é o HTTP.</p>
<p>Vejamos agora alguns exemplos de como usar o comando curl no terminal do Linux.</p>
<h3>Exemplos do curl</h3>
<p><strong>Exemplo 1.</strong> Visualizar o código-fonte de uma página Web no terminal. Se usado sem nenhuma opção o comando curl simplesmente imprime no terminal o código-fonte da URL especificada na saída padrão.</p>
<p>Por exemplo:</p>
<pre><strong>$ curl https://www.rust-lang.com</strong></pre>
<p>Este comando exibe no terminal o código-fonte HTML da página inicial do projeto Rust (linguagem de programação).</p>
<p><strong>Exemplo 2</strong>. Baixar um arquivo da Web. Digitamos o comando curl seguido do URL do arquivo que precisamos baixar.</p>
<p>Se quisermos manter o nome original do arquivo, usamos a opção -O, e Já para renomear o arquivo ao baixá-lo, usamos a opção -o.</p>
<p>Por exemplo, para baixar o instalador da linguagem Python a partir do endereço <a href="https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz" target="_blank" rel="noopener">https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</a>, mantendo seu nome original, digitamos:</p>
<pre><strong>$ curl -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</strong></pre>
<p>E se quisermos renomeá-lo ao baixar, por exemplo para <em>python-3.10.tgz</em>:</p>
<pre><strong>$ curl -o python-3.10.tgz https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</strong></pre>
<p>O progresso do download é mostrado na tela do terminal, e o arquivo será baixado no diretório atual (pwd).</p>
<p>Para cancelar um download em andamento, execute <strong>Ctrl+C</strong> no terminal.</p>
<p><strong>Exemplo 3.</strong> Também é possível limitar a velocidade do download com a opção <em>&#8211;limit-rate</em>. A velocidade é medida em bytes/segundo. Podemos usar os códigos <strong>k</strong> para kilobytes, <strong>m</strong> para megabytes e <strong>g</strong> para gigabytes.</p>
<p>Por exemplo, vamos limitar a velocidade do download do instalador do Python para 100 kB/s:</p>
<pre><strong>$ curl --limit-rate 100k -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</strong></pre>
<p>Desta forma o curl não consome toda a largura de banda disponível na rede durante o download.</p>
<p><strong>Exemplo 4.</strong> Podemos baixar vários arquivos ao mesmo tempo, adicionando suas URLs e usando a opção -O para cada uma delas. Por exemplo, para baixar os instaladores do Python para Windows e para Linux na sequência:</p>
<pre><strong>$ curl -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz -O https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe</strong></pre>
<p><strong>Exemplo 5.</strong> Outra opção para baixar múltiplos arquivos com o curl é criar um arquivo de shell script executável contendo as urls dos arquivos que desejamos baixar, separadas por espaços, e usar esse script para realizar o download.</p>
<p>Por exemplo, suponha que desejamos baixar os dois instaladores do Python a seguir, um para Linux e outro para Windows, usando um único comando:</p>
<p><strong>https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</strong><br />
<strong>https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe</strong></p>
<p>Para baixar esses arquivos com o curl, criamos um script do shell com o código mostrado abaixo (chamei o arquivo de &#8220;<em>baixar.sh</em>&#8220;) usando um editor de textos qualquer, como o vi, emacs ou <a href="http://www.bosontreinamentos.com.br/linux/aprenda-usar-o-editor-de-textos-gnu-nano-no-linux/">nano</a>:</p>
<pre><strong>#!/bin/bash</strong>
<strong>urls="https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe

</strong><strong>for item in $urls</strong>
<strong>do</strong>
<strong>   curl -O "$item"</strong>
<strong>done</strong></pre>
<p>Note que as URLs a serem baixadas precisam estar separadas por um espaço em branco na atribuição à variável <strong>urls</strong>.</p>
<p>Após salvar e fechar o arquivo, damos permissão de execução ao script:</p>
<pre><strong>$ chmod 775 baixar.sh</strong></pre>
<p>E então rodamos nosso programa:</p>
<pre><strong>$ ./baixar.sh</strong></pre>
<p>Todos os recursos especificados no código serão baixados pelo curl, sequencialmente.</p>
<p><strong>Exemplo 6.</strong> Se um download for interrompido, por exemplo por uma queda na conexão, podemos continuá-lo posteriormente usando a opção -C -:</p>
<pre><strong>$ curl -C - -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz</strong></pre>
<p><strong>Exemplo 7.</strong> Podemos baixar arquivos de um site de FTP também, mesmo que seja protegido por senha. Por exemplo, para baixar um arquivo de um servidor FTP usando usuário fabio e senha 123 executamos o comando como segue:</p>
<pre><strong>$ curl -u fabio:123 ftp://ftp.site.com.br/arquivo.zip</strong></pre>
<p>Podemos também enviar um arquivo a um servidor FTP, usando a opção -T. Por exemplo, para subir o arquivo script.py:</p>
<pre><strong>$ curl -T script.py -u fabio:123 ftp://ftp.site.com.br/</strong></pre>
<p><strong>Exemplo 8.</strong> Obter os cabeçalhos HTTP de uma URL</p>
<p><em>Cabeçalhos HTTP</em> são pares chave-valor separados por dois-pontos (:) que contém informações de uma página Web, tais como tipo de conteúdo, agente e codificação, entre outras. Esses cabeçalhos são transferidos entre servidor e cliente durante uma requisição de recurso ou resposta à requisição.</p>
<p>O comando curl permite ler os cabeçalhos HTTP de um recurso especificado com o uso da opção -I. Por exemplo:</p>
<pre><strong>$ curl -I --http2 https://www.diariodonaturalista.com.br</strong></pre>
<p>Neste caso também informamos o protocolo a usar, com a opção &#8211;http2 (que indica o protocolo HTTP/2).</p>
<p>É isso aí! O utilitário curl possui muitas outras opções úteis além das mostradas neste tutorial. Para conhecer todas as opções disponíveis, consulte suas páginas de manual executando o comando <em><strong>man curl</strong></em> no terminal.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19374" title="Linux - Boson Treinamentos em Tecnologia" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/linux-pinguim-boson.png" alt="Linux - Boson Treinamentos em Tecnologia" width="250" height="320" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/linux-pinguim-boson.png 555w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/linux-pinguim-boson-328x420.png 328w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/exemplos-do-comando-curl-no-linux-tutorial-completo/">Exemplos do comando curl no Linux &#8211; Tutorial completo</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/exemplos-do-comando-curl-no-linux-tutorial-completo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>O que é uma API &#8211; Conceitos de Computação</title>
		<link>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/</link>
					<comments>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 17 Mar 2023 10:53:28 +0000</pubDate>
				<category><![CDATA[Análise de Sistemas]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=17107</guid>

					<description><![CDATA[<p>O que é uma API A sigla API significa Application Programming Interface, ou Interface de Programação de Aplicações, em português. É um conjunto de protocolos, rotinas e ferramentas que permitem que diferentes aplicativos de software se comuniquem entre si. As APIs agem como intermediárias entre aplicativos de software, permitindo que eles troquem dados e acessem as funcionalidades uns dos outros. Uma API define um conjunto específico de regras e padrões para a construção de aplicativos de software, especificando como os componentes de software devem interagir uns com os outros. Ela fornece uma maneira padronizada para diferentes aplicativos acessarem e compartilharem dados e serviços, sem exigir que os desenvolvedores desses aplicativos entendam os detalhes de implementação subjacentes. Trata-se de uma forma de comunicação entre duas aplicações de computador, que permite a troca de informações por meio de uma rede, como a Internet, usando uma linguagem em comum, que as aplicações conseguem entender. A empresa ou organização que oferece uma API é chamada de fornecedor da API. Arquitetura de uma API Para que serve uma API? Uma API fornece acesso a dados e serviços que permitem o rápido desenvolvimento de aplicações dos mais variados tipos. As APIs são amplamente utilizadas no desenvolvimento [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/">O que é uma API &#8211; Conceitos de Computação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é uma API</h2>
<p>A sigla API significa <em><strong>Application Programming Interface</strong></em>, ou <strong>Interface de Programação de Aplicações</strong>, em português. É um conjunto de protocolos, rotinas e ferramentas que permitem que diferentes aplicativos de software se comuniquem entre si.</p>
<p>As APIs agem como intermediárias entre aplicativos de software, permitindo que eles troquem dados e acessem as funcionalidades uns dos outros.</p>
<p>Uma API define um conjunto específico de regras e padrões para a construção de aplicativos de software, especificando como os componentes de software devem interagir uns com os outros.</p>
<p>Ela fornece uma maneira padronizada para diferentes aplicativos acessarem e compartilharem dados e serviços, sem exigir que os desenvolvedores desses aplicativos entendam os detalhes de implementação subjacentes.</p>
<p>Trata-se de uma forma de comunicação entre duas <strong>aplicações</strong> de computador, que permite a troca de informações por meio de uma rede, como a Internet, usando uma linguagem em comum, que as aplicações conseguem entender.</p>
<p>A empresa ou organização que oferece uma API é chamada de <em>fornecedor da API</em>.</p>
<div id="attachment_18908" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18908" class="wp-image-18908 size-large" title="Arquitetura de uma API" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-1024x353.png" alt="Arquitetura de uma API" width="1024" height="353" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-1024x353.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-420x145.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura-768x265.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/API-arquitetura.png 1139w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-18908" class="wp-caption-text">Arquitetura de uma API</p></div>
<h3>Para que serve uma API?</h3>
<p>Uma API fornece acesso a dados e serviços que permitem o rápido desenvolvimento de aplicações dos mais variados tipos.</p>
<p>As APIs são amplamente utilizadas no desenvolvimento de software para permitir a integração entre diferentes sistemas de software, facilitar a troca e o compartilhamento de dados e agilizar o processo de desenvolvimento.</p>
<p>Elas são comumente usadas para desenvolver aplicativos da web e móveis, bem como para integrar serviços de terceiros e fontes de dados em aplicativos de software existentes.</p>
<h3>Especificações de APIs</h3>
<p>As APIs seguem uma especificação, o que na prática significa que:</p>
<ul>
<li>O fornecedor da API descreve exatamente as funcionalidades que a API irá oferecer</li>
<li>O fornecedor também descreve quando as funcionalidade estarão disponíveis, e quando existe a possibilidade de alterações nestas funcionalidades</li>
<li>O fornecedor da API também por estabelecer restrições técnicas ao uso da API, como limites de uso de banda, quantidade de acessos permitidos por uma aplicação, entre outras.</li>
<li>Os desenvolvedores (usuários) concordam em usar a API da forma como ela é descrita, seguindo as regras estabelecidas pelo fornecedor da API.</li>
</ul>
<p>O fornecedor da API pode também:</p>
<ul>
<li>Fornecer mecanismos para acesso à API</li>
<li>Fornecer documentação para ajudar a entender como ela funciona e como usá-la</li>
<li>Distribuir programas de exemplo para auxiliar os desenvolvedores interessados na API</li>
</ul>
<p>entre outros.</p>
<p>Algumas APIs são abertas a todos os desenvolvedores, algumas apenas para colaboradores e parceiros e outras são empregadas apenas internamente em uma empresa, por exemplo facilitando a comunicação e colaboração entre os times de desenvolvimento.</p>
<h3>Tipos de APIs</h3>
<p>As APIs podem ser públicas ou privadas, dependendo do público-alvo e da finalidade.</p>
<ul>
<li>APIs públicas são projetadas para serem usadas por desenvolvedores externos e normalmente são disponibilizadas por meio de documentação e portais de desenvolvedores.</li>
<li>Já as APIs privadas, por outro lado, são usadas dentro de uma organização ou por um conjunto específico de usuários e normalmente não são expostas a desenvolvedores externos.</li>
</ul>
<h3>Exemplos de APIs</h3>
<p>Existem muitos exemplos de APIs públicas que são amplamente utilizadas por desenvolvedores para criar aplicativos da web e móveis, bem como para integrar serviços de terceiros e fontes de dados em aplicativos de software existentes. A seguir listo alguns exemplos:</p>
<ul>
<li><strong>API do Google Maps</strong>: A <a href="https://cloud.google.com/apis" target="_blank" rel="noopener">API do Google Maps</a> permite que os desenvolvedores integrem o Google Maps em seus aplicativos, fornecendo aos usuários recursos como geocodificação, direções e atualizações de tráfego em tempo real.</li>
<li><strong>API do Twitter</strong>: A <a href="https://developer.twitter.com/en/docs/twitter-api" target="_blank" rel="noopener">API do Twitter</a> permite que os desenvolvedores acessem dados e funcionalidades do Twitter, como pesquisar tweets, postar tweets e recuperar informações do usuário.</li>
<li><strong>API do Facebook</strong>: A <a href="https://developers.facebook.com/docs/pages/" target="_blank" rel="noopener">API do Facebook</a> permite integração da funcionalidade do Facebook em seus aplicativos, como permitir que os usuários façam login com suas contas do Facebook, recuperar informações do usuário e postar nprópria rede social.</li>
<li><strong>API OpenWeatherMap</strong>: A <a href="https://openweathermap.org/api" target="_blank" rel="noopener">API OpenWeatherMap</a> fornece aos desenvolvedores acesso a dados meteorológicos de todo o mundo, incluindo condições atuais do clima e tempo, previsões e dados históricos.</li>
<li><strong>API do GitHub</strong>: A <a href="https://docs.github.com/en/rest" target="_blank" rel="noopener">API do GitHub</a> permite que o acesso às funcionalidades do GitHub, como gerenciamento de repositórios, criação de requisições e recuperação de informações do usuário.</li>
</ul>
<h3>Conclusão</h3>
<p>No geral, as APIs desempenham um papel crucial no desenvolvimento de software moderno, permitindo que os desenvolvedores criem aplicativos de software mais robustos e interconectados que podem se comunicar e trocar dados perfeitamente entre si.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/">O que é uma API &#8211; Conceitos de Computação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/analise-de-sistemas/o-que-e-uma-api-conceitos-de-computacao/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Mostrar e ocultar conteúdo com os elementos details e summary em HTML</title>
		<link>https://www.bosontreinamentos.com.br/html/mostrar-e-ocultar-conteudo-com-os-elementos-details-e-summary-em-html/</link>
					<comments>https://www.bosontreinamentos.com.br/html/mostrar-e-ocultar-conteudo-com-os-elementos-details-e-summary-em-html/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 24 Feb 2023 11:58:59 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18827</guid>

					<description><![CDATA[<p>Mostrar e ocultar conteúdo com os elementos details e summary em HTML Os elementos HTML details e summary permitem que você crie uma interface interativa no estilo sanfona (&#8220;accordion&#8220;) que pode expandir ou recolher seu conteúdo, mostrando ou ocultando parte do texto ou mesmo outros elementos HTML. Isso pode ser útil para exibir muitas informações em uma página sem sobrecarregar o usuário com muito texto de uma só vez. O elemento details (&#8220;detalhes&#8221;) cria um contêiner para o conteúdo que você deseja expandir ou recolher. Já o elemento summary (&#8220;resumo&#8221;) é usado para criar o cabeçalho clicável para esse contêiner. Quando o usuário clica no elemento de resumo, o conteúdo dentro do elemento details será expandido ou recolhido. Vejamos um exemplo de como usar esses elementos em HTML: &#60;details&#62; &#60;summary&#62;Clique aqui para expandir o conteúdo&#60;/summary&#62; &#60;p&#62;Conteúdo que expandido ou colapsado ao clicar no texto do elemento summary.&#60;/p&#62; &#60;/details&#62; No exemplo acima, o elemento summary é usado como um cabeçalho clicável e o elemento de parágrafo dentro do elemento details é o conteúdo que será expandido ou recolhido: Quando o usuário clica no texto do elemento summary, o elemento de parágrafo alterna entre ser exibido ou ocultado: Podemos adicionar mais conteúdo [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/html/mostrar-e-ocultar-conteudo-com-os-elementos-details-e-summary-em-html/">Mostrar e ocultar conteúdo com os elementos details e summary em HTML</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Mostrar e ocultar conteúdo com os elementos details e summary em HTML</h2>
<p>Os elementos HTML <em><strong>details</strong></em> e <em><strong>summary</strong></em> permitem que você crie uma interface interativa no estilo sanfona (&#8220;<em>accordion</em>&#8220;) que pode expandir ou recolher seu conteúdo, mostrando ou ocultando parte do texto ou mesmo outros <a href="http://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/">elementos HTML</a>.</p>
<p>Isso pode ser útil para exibir muitas informações em uma página sem sobrecarregar o usuário com muito texto de uma só vez.</p>
<p>O elemento <em><strong>details</strong></em> (&#8220;detalhes&#8221;) cria um contêiner para o conteúdo que você deseja expandir ou recolher. Já o elemento <em><strong>summary</strong></em> (&#8220;resumo&#8221;) é usado para criar o cabeçalho clicável para esse contêiner.</p>
<p>Quando o usuário clica no elemento de resumo, o conteúdo dentro do elemento<em> details</em> será expandido ou recolhido.</p>
<p>Vejamos um exemplo de como usar esses elementos em HTML:</p>
<pre><strong>&lt;details&gt;</strong>
<strong>  &lt;summary&gt;Clique aqui para expandir o conteúdo&lt;/summary&gt;</strong>
<strong>    &lt;p&gt;Conteúdo que expandido ou colapsado ao clicar no texto do elemento summary.&lt;/p&gt;</strong>
<strong>&lt;/details&gt;</strong></pre>
<p>No exemplo acima, o elemento<em> summary</em> é usado como um cabeçalho clicável e o elemento de parágrafo dentro do elemento <em>details</em> é o conteúdo que será expandido ou recolhido:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18829" title="Elementos details e summary em HTML" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-01.jpg" alt="Elementos details e summary em HTML" width="400" height="99" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-01.jpg 552w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-01-420x103.jpg 420w" sizes="auto, (max-width: 400px) 100vw, 400px" /></p>
<p>Quando o usuário clica no texto do elemento <em>summary</em>, o elemento de parágrafo alterna entre ser exibido ou ocultado:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18830" title="Elementos details e summary em HTML" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-02.jpg" alt="Elementos details e summary em HTML" width="548" height="92" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-02.jpg 786w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-02-420x71.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-02-768x129.jpg 768w" sizes="auto, (max-width: 548px) 100vw, 548px" /></p>
<p>Podemos adicionar mais conteúdo dentro do elemento details, incluindo outros elementos HTML como cabeçalhos, listas ou imagens. Vejamos um exemplo de uso mais complexo desses elementos:</p>
<pre><strong>&lt;details&gt;</strong>
<strong>  &lt;summary&gt;Exibir lista de livros&lt;/summary&gt;</strong>
<strong>    &lt;h2&gt;Livros&lt;/h2&gt;</strong>
<strong>    &lt;ul&gt;</strong>
<strong>      &lt;li&gt;Cosmos&lt;/li&gt;</strong>
<strong>      &lt;li&gt;Contato&lt;/li&gt;</strong>
<strong>      &lt;li&gt;Pálido Ponto Azul&lt;/li&gt;</strong>
<strong>      &lt;li&gt;Murmúrios da Terra&lt;/li&gt;</strong>
<strong>    &lt;/ul&gt;</strong>
<strong>    &lt;img src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/cosmos-livro.jpg" alt="Imagem de exemplo"&gt;</strong>
<strong>&lt;/details&gt;</strong></pre>
<p>Neste exemplo, há um cabeçalho de seção, uma lista e uma imagem dentro do elemento <em>details</em>. Quando o usuário clicar no elemento <em>summary</em>, todo esse conteúdo será expandido ou recolhido. A imagem a seguir mostra o conteúdo desse exemplo expandido:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18832 size-full" title="Elementos summary e details em HTML" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-03.jpg" alt="Elementos summary e details em HTML" width="294" height="553" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-03.jpg 294w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-03-223x420.jpg 223w" sizes="auto, (max-width: 294px) 100vw, 294px" /></p>
<p>Também podemos empregar CSS para estilizar os elementos details e summary, como por exemplo para alterar o tamanho da fonte, cor do texto ou cor de fundo. Abaixo temos um exemplo de como estilizar ambos os elementos:</p>
<pre><strong>&lt;style&gt;</strong>
<strong>  details {</strong>
<strong>    width: 250px;</strong>
<strong>    height: 250px;</strong>
<strong>  }</strong>
<strong>  summary {</strong>
<strong>    background-color: #ddd;</strong>
<strong>    padding: 10px;</strong>
<strong>    border-radius: 5px;</strong>
<strong>  }</strong>
<strong>&lt;/style&gt;</strong></pre>
<p>Neste exemplo, o elemento <em>summary</em> terá uma cor de fundo cinza e cantos arredondados, e o elemento <em>details</em> tem seu tamanho delimitado em 250 pixels:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18834 size-full" title="Estilizar elementos summary e details com CSS" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/02/details-summary-exemplo-04.jpg" alt="Estilizar elementos summary e details com CSS" width="414" height="88" /></p>
<p>No geral, os elementos details e summary são uma forma simples e eficaz de criar um bloco colapsável no estilo sanfona em HTML. Eles podem ajudar a tornar o site mais fácil de usar e organizado, permitindo que os usuários se concentrem em um conteúdo específico por vez.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/html/mostrar-e-ocultar-conteudo-com-os-elementos-details-e-summary-em-html/">Mostrar e ocultar conteúdo com os elementos details e summary em HTML</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/html/mostrar-e-ocultar-conteudo-com-os-elementos-details-e-summary-em-html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como arredondar números em PHP com a função ROUND()</title>
		<link>https://www.bosontreinamentos.com.br/php-programming/como-arredondar-numeros-em-php-com-a-funcao-round/</link>
					<comments>https://www.bosontreinamentos.com.br/php-programming/como-arredondar-numeros-em-php-com-a-funcao-round/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 20 Jan 2023 14:43:05 +0000</pubDate>
				<category><![CDATA[Programação em PHP]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18735</guid>

					<description><![CDATA[<p>Função Round(): Arredondamento de números no PHP O arredondamento de números é uma tarefa trivial e corriqueira em sistemas que realizam cálculos que gerem valores de ponto flutuante (&#8220;com casas depois da vírgula&#8221;). Por exemplo, um cálculo financeiro pode gerar um número com 6 casas decimais, mas só nos interessam duas delas, pois nossa moeda, o Real, somente possui como divisão os centavos &#8211; que usam duas casas decimais apenas. Mas como arredondar números em um script escrito em PHP?  A função round em PHP permite arredondar um número de ponto flutuante, retornando um valor com uma precisão especificada (número de casas decimais). Sintaxe: round(int&#124;float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float onde: num: Valor a ser arredondado precision: número de dígitos decimais para o arredondamento. Se for um valor positivo, o número é arredondado para a quantidade de dígitos significativos após o ponto decimal. Se a precisão for um valor negativo, o número será arredondado para a quantidade de dígitos significativos antes do separador decimal. Por exemplo, se a precisão for -1, num será arredondado para a casa das dezenas, se for -2, para centenas, e assim por diante. mode: modo no qual o arredondamento ocorre. [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/como-arredondar-numeros-em-php-com-a-funcao-round/">Como arredondar números em PHP com a função ROUND()</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Função Round(): Arredondamento de números no PHP</h2>
<p>O arredondamento de números é uma tarefa trivial e corriqueira em sistemas que realizam cálculos que gerem valores de ponto flutuante (&#8220;com casas depois da vírgula&#8221;). Por exemplo, um cálculo financeiro pode gerar um número com 6 casas decimais, mas só nos interessam duas delas, pois nossa moeda, o Real, somente possui como divisão os centavos &#8211; que usam duas casas decimais apenas.</p>
<p>Mas como arredondar números em um script escrito em PHP? </p>
<p>A função round em PHP permite arredondar um número de ponto flutuante, retornando um valor com uma precisão especificada (número de casas decimais).</p>
<h3>Sintaxe:</h3>
<pre><strong>round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float</strong></pre>
<p>onde:</p>
<ul>
<li><em><strong>num</strong></em>: Valor a ser arredondado</li>
<li><em><strong>precision</strong></em>: número de dígitos decimais para o arredondamento. Se for um valor positivo, o número é arredondado para a quantidade de dígitos significativos após o ponto decimal.<br />
Se a precisão for um valor negativo, o número será arredondado para a quantidade de <a href="https://youtu.be/0_cN20fCALk" target="_blank" rel="noopener">dígitos significativos</a> antes do separador decimal. Por exemplo, se a precisão for -1, num será arredondado para a casa das dezenas, se for -2, para centenas, e assim por diante.</li>
<li><em><strong>mode</strong></em>: modo no qual o arredondamento ocorre. Pode ser:
<ul>
<li><strong>PHP_ROUND_HALF_UP</strong>: arredonda o número para longe do zero, se a última casa decimal arredondada possuir valor 5 ou maior. Por exemplo, 3,5 é arredondado para 4 e -3,5 é arredondado para -4.</li>
<li><strong>PHP_ROUND_HALF_DOWN</strong>: arredonda o número em direção ao zero, se a última casa decimal arredondada possuir valor 5 ou maior. Por exemplo, 3,5 é arredondado para 3 e -3,5 é arredondado para -3.</li>
<li><strong>PHP_ROUND_HALF_EVEN</strong>: arredonda o número para o valor par mais próximo, se a última casa decimal arredondada possuir valor 5 ou maior. Por exemplo, tanto 3,5 quanto 4,5 são arredondados para 4.</li>
<li><strong>PHP_ROUND_HALF_ODD</strong>: arredonda o número para o valor ímpar mais próximo, se a última casa decimal arredondada possuir valor 5 ou maior. Por exemplo, 3,5 é arredondado para 3 e 4,5 é arredondado para 5.</li>
</ul>
</li>
</ul>
<p>O valor arredondado é retornado como um número <em>float</em>.</p>
<h3>Exemplos</h3>
<div>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #ff0000;"><strong>$numero = 230.1480;</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, 2)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, 1)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, 0)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, -1)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, -2)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, 2, PHP_ROUND_HALF_DOWN)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo round($numero, 1, PHP_ROUND_HALF_UP)."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<div> </div>
</div>
<div>Resultado:</div>
<pre><span style="color: #003300;"><strong>230.15</strong></span>
<span style="color: #003300;"><strong>230.1</strong></span>
<span style="color: #003300;"><strong>230</strong></span>
<span style="color: #003300;"><strong>230</strong></span>
<span style="color: #003300;"><strong>200</strong></span>
<span style="color: #003300;"><strong>230.15</strong></span>
<span style="color: #003300;"><strong>230.1</strong></span></pre>
<p>Outras funções que permitem realizar arredondamento de valores em PHP são as funções ceil() e floor().</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/como-arredondar-numeros-em-php-com-a-funcao-round/">Como arredondar números em PHP com a função ROUND()</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/php-programming/como-arredondar-numeros-em-php-com-a-funcao-round/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Trabalhando com sessões em PHP e variável $_SESSION</title>
		<link>https://www.bosontreinamentos.com.br/php-programming/trabalhando-com-sessoes-em-php-e-variavel-_session/</link>
					<comments>https://www.bosontreinamentos.com.br/php-programming/trabalhando-com-sessoes-em-php-e-variavel-_session/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sat, 24 Mar 2018 13:31:46 +0000</pubDate>
				<category><![CDATA[Programação em PHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=11664</guid>

					<description><![CDATA[<p>Como trabalhar com sessões em PHP Trabalhar com o conceito de sessões permite que um conjunto de dados possam ser utilizados por um usuário durante todo o tempo em que acessa e navega dentro de uma aplicação Web, sendo persistidos. Desta forma, é possível, por exemplo, verificar se um usuário está logado no site, transportar o conteúdo de um carrinho de compras, controlar as permissões de execução do usuário, e muito mais.  A variável superglobal $_SESSION é um array associativo que contém variáveis de sessão que ficam disponíveis para o script atual e para as próximas páginas acessadas por um usuário. Criando uma sessão &#8211; função session_start() A função session_start() permite iniciar uma nova sessão ou resumir (continuar) uma sessão já existente. Sintaxe: bool session_start([array $opções = array()]) Retorno da função: TRUE se a sessão é iniciada com sucesso. FALSE se a sessão falha em iniciar. A sessão é iniciada ou resumida baseada em um identificador de sessão passado via requisição GET ou POST, ou ainda via um cookie. Exemplo 01: Vamos trabalhar com duas páginas php. Na primeira página vamos iniciar uma sessão e passar valores para duas variáveis de sessão criadas: &#60;?php // Página 01 session_start(); echo 'Esta [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/trabalhando-com-sessoes-em-php-e-variavel-_session/">Trabalhando com sessões em PHP e variável $_SESSION</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Como trabalhar com sessões em PHP</h2>
<p>Trabalhar com o conceito de sessões permite que um conjunto de dados possam ser utilizados por um usuário durante todo o tempo em que acessa e navega dentro de uma aplicação Web, sendo persistidos. Desta forma, é possível, por exemplo, verificar se um usuário está logado no site, transportar o conteúdo de um carrinho de compras, controlar as permissões de execução do usuário, e muito mais. </p>
<p>A variável superglobal <strong>$_SESSION</strong> é um array associativo que contém variáveis de sessão que ficam disponíveis para o script atual e para as próximas páginas acessadas por um usuário.</p>
<h3>Criando uma sessão &#8211; função session_start()</h3>
<p>A função <em><strong>session_start()</strong></em> permite iniciar uma nova sessão ou resumir (continuar) uma sessão já existente.</p>
<h4>Sintaxe:</h4>
<pre><span style="color: #800080;"><strong>bool session_start([array $opções = array()])</strong></span></pre>
<p>Retorno da função:</p>
<ul>
<li>TRUE se a sessão é iniciada com sucesso.</li>
<li>FALSE se a sessão falha em iniciar.</li>
</ul>
<p>A sessão é iniciada ou resumida baseada em um identificador de sessão passado via requisição GET ou POST, ou ainda via um cookie.</p>
<h3>Exemplo 01:</h3>
<p>Vamos trabalhar com duas páginas php. Na primeira página vamos iniciar uma sessão e passar valores para duas variáveis de sessão criadas:</p>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #339966;"><strong>// Página 01

</strong></span><span style="color: #ff0000;"><strong>session_start();
</strong></span>
<span style="color: #ff0000;"><strong>echo 'Esta é a página 01, onde a sessão será criada';
</strong></span>
<span style="color: #ff0000;"><strong>$_SESSION['aula'] = 'PHP';</strong></span>
<span style="color: #ff0000;"><strong>$_SESSION['hora'] = time();
</strong></span>
<span style="color: #339966;"><strong>// Link para a página 02:</strong></span>
<span style="color: #ff0000;"><strong>echo '&lt;br /&gt;&lt;a href="pagina2.php"&gt;Clique para ir à página 02&lt;/a&gt;';</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<p>Após carregar a página 01, a sessão é criada e as variáveis de sessão &#8216;aula&#8217; e &#8216;hora&#8217; são declaradas e inicializadas. Elas poderão ser acessadas na página 02, clicando-se no link fornecido.<br />
A seguir está o código do arquivo pagina2.php:</p>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #339966;"><strong>// E esta é a página 02, onde recuperaremos as variáveis de sessão
</strong></span>
<span style="color: #ff0000;"><strong>session_start();
</strong></span>
<span style="color: #ff0000;"><strong>date_default_timezone_set('America/Sao_Paulo');</strong></span>
<span style="color: #ff0000;"><strong>echo 'Agora estamos na página 02&lt;br /&gt;';</strong></span>
<span style="color: #ff0000;"><strong>echo "Estamos na aula de " . $_SESSION['aula'] . "&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>echo "E agora são " . date('H:i:s', $_SESSION['hora']) . " horas";</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<p>Veja o resultado obtido na página:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11667 size-full" title="Sessions em PHP" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/session-PHP.png" alt="Sessions em PHP" width="248" height="75" /></p>
<p>Neste exemplo, a sessão é criada logo que o usuário carrega a página 01. Porém, é muito comum que se deseje criar uma nova sessão apenas quando algum evento específico ocorrer, como o clique em um botão de formulário. No próximo exemplo vamos criar um formulário que, ao ser enviado, inicia uma sessão com dados fornecidos pelo usuário.</p>
<h3>Exemplo 02:</h3>
<p>Também trabalharemos com dois arquivos: a primeira página conterá um formulário onde o usuário deverá digitar seu nome e clicar em um botão para envio dos dados ao servidor, criando uma nova sessão, e o segundo arquivo será um script PHP que irá receber os dados enviados e exibi-los na página, após retomar a sessão.</p>
<p>Vamos aos códigos:</p>
<p>Primeiramente, o código do arquivo <em>pagina01.php</em>, que exibirá um formulário e permitirá a criação de uma sessão:</p>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #339966;"><strong>// Testando sessões em PHP</strong></span>
<span style="color: #ff0000;"><strong>if(isset($_REQUEST['valor']) and ($_REQUEST['valor'] == 'enviado')) { <span style="color: #339966;">// cria sessão se usuário tiver clicado no botão enviar do formulário</span></strong></span>
<span style="color: #ff0000;"><strong> session_start();</strong></span>
<span style="color: #339966;"><strong>// cria variáveis de sessão e as inicializa com os dados do formulário:</strong></span>
<span style="color: #ff0000;"><strong> $_SESSION['nome'] = $_POST['frm_nome'];</strong></span>
<span style="color: #ff0000;"><strong> $_SESSION['sobrenome'] = $_POST['frm_sobrenome'];</strong></span>
<span style="color: #339966;"><strong>// exibe link para a página 02:</strong></span>
<span style="color: #ff0000;"><strong> echo "&lt;a href='sessao2.php'&gt;Ir para página 2&lt;/a&gt;";</strong></span>
<span style="color: #ff0000;"><strong> }</strong></span>
<span style="color: #ff0000;"><strong>else { <span style="color: #339966;">// Se usuário ainda não clicou no botão de enviar, mostra o formulário na página:</span></strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span>
<span style="color: #ff0000;"><strong>&lt;form name="form1" action="pagina01.php?valor=enviado" method="POST"&gt;</strong></span>
<span style="color: #ff0000;"><strong> Digite seu nome:</strong></span>
<span style="color: #ff0000;"><strong> &lt;input type="text" name="frm_nome"&gt;&lt;br&gt;</strong></span>
<span style="color: #ff0000;"><strong> Digite seu sobrenome:</strong></span>
<span style="color: #ff0000;"><strong> &lt;input type="text" name="frm_sobrenome"&gt;&lt;br&gt;</strong></span>
<span style="color: #ff0000;"><strong> &lt;input type="submit" value="Enviar"&gt;</strong></span>
<span style="color: #ff0000;"><strong>&lt;/form&gt;</strong></span>
<span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #ff0000;"><strong> }</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<p>Neste exemplo, preencherei os formulário com meus dados e clicarei em Enviar:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11699 size-full" title="Sessões em PHP - formulário de envio" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/sessions-php-formulário-envio.jpg" alt="Sessões em PHP - formulário de envio" width="347" height="77" /></p>
<p>E agora o código do arquivo de destino, <em>pagina02.php</em>:</p>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #339966;"><strong>// retomando a sessão criada:</strong></span>
<span style="color: #ff0000;"><strong> session_start();</strong></span>
<span style="color: #339966;"><strong>// ecoando os dados gravados na sessão:</strong></span>
<span style="color: #ff0000;"><strong> echo "Os dados recebidos foram:&lt;br&gt;&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo "Nome: " . $_SESSION['nome'] . "&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo "Sobrenome: " . $_SESSION['sobrenome'];</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<p>Neste exemplo, usamos o array associativo $_REQUEST para verificar se o usuário enviou o formulário com os dados, lendo o valor da variável valor (se ela tiver sido criada), que é enviada como parâmetro da action do formulário.</p>
<p>Se a variável não existir, o formulário é apresentado ao usuário para preenchimento e envio.</p>
<p>Ao clicar no botão enviar, é criada uma sessão e duas variáveis de sessão são definida: nome e sobrenome, as quais são recuperadas ao acessar a página 02, clicando-se no link exibido.</p>
<p>Abaixo o resultado obtido após enviar o formulário:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-11698 size-full" title="Sessions em PHP - resultado" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/sessions-resultado.jpg" alt="Sessions em PHP - resultado" width="233" height="77" /></p>
<h3>Encerrando a sessão</h3>
<p>Podemos encerrar a sessão aberta com a função <strong>session_destroy()</strong>. Esta função elimina todos os dados registrados na sessão atual.</p>
<h4>Sintaxe:</h4>
<pre><span style="color: #800080;"><strong>bool session_destroy();</strong></span></pre>
<p>Retorno da função:</p>
<ul>
<li>TRUE se a sessão é iniciada com sucesso.</li>
<li>FALSE se a sessão falha em iniciar.</li>
</ul>
<p>Vamos usar variáveis de sessão para criar um CRUD em PHP com sistema de login a partir das próximas lições.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/trabalhando-com-sessoes-em-php-e-variavel-_session/">Trabalhando com sessões em PHP e variável $_SESSION</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/php-programming/trabalhando-com-sessoes-em-php-e-variavel-_session/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Constantes em PHP</title>
		<link>https://www.bosontreinamentos.com.br/php-programming/constantes-em-php/</link>
					<comments>https://www.bosontreinamentos.com.br/php-programming/constantes-em-php/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 07 Mar 2018 17:06:45 +0000</pubDate>
				<category><![CDATA[Programação em PHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=11531</guid>

					<description><![CDATA[<p>Constantes em PHP Uma Constante é um valor que pode ser armazenado sob um nome, de forma parecida com uma variável, porém com uma diferença fundamental: esse valor não pode ser alterado após a constante ser definida e atribuída. Desta forma, o valor armazenado pode ser utilizado no script sempre que a constante for empregada, sem o risco de ter esse valor alterado inadvertidamente. Uma constante é muito útil para armazenar valores que nunca devem ser alterados, como constantes matemáticas (Pi, por exemplo) e strings de conexão a bancos de dados, entre outros. O escopo de uma constante é global. Criamos constantes nomeadas em PHP com o uso da função define(). Sintaxe: define(nome_constante, valor_constante[, ignora_caso]); Onde: nome_constante é o nome que queremos dar à constante valor_constante é o valor que será armazenado na constante. OS tipos de dados aceitos são integer, string, float e boolean, ou ainda o valor NULL. No PHP também são aceitos arrays. ignora_caso é um flag que ativa ou desativa a verificação de maiúsculos e minúsculos no nome da constante. O nome da constante não se inicia com o caractere $, de forma diferente das variáveis. O valor padrão para [ignora-caso] é FALSE, ou seja, o caso não [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/constantes-em-php/">Constantes em PHP</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Constantes em PHP</h2>
<p>Uma Constante é um valor que pode ser armazenado sob um nome, de forma parecida com uma variável, porém com uma diferença fundamental: esse valor não pode ser alterado após a constante ser definida e atribuída.</p>
<p>Desta forma, o valor armazenado pode ser utilizado no script sempre que a constante for empregada, sem o risco de ter esse valor alterado inadvertidamente.</p>
<p>Uma constante é muito útil para armazenar valores que nunca devem ser alterados, como constantes matemáticas (Pi, por exemplo) e strings de conexão a bancos de dados, entre outros. O escopo de uma constante é global.</p>
<p>Criamos constantes nomeadas em PHP com o uso da função <strong>define()</strong>.</p>
<h3>Sintaxe:</h3>
<pre><span style="color: #800080;"><strong>define(nome_constante, valor_constante[, ignora_caso]);</strong></span></pre>
<p>Onde:</p>
<ul>
<li><strong>nome_constante</strong> é o nome que queremos dar à constante</li>
<li><strong>valor_constante</strong> é o valor que será armazenado na constante. OS tipos de dados aceitos são integer, string, float e boolean, ou ainda o valor NULL. No PHP também são aceitos arrays.</li>
<li><strong>ignora_caso</strong> é um flag que ativa ou desativa a verificação de maiúsculos e minúsculos no nome da constante.</li>
</ul>
<p>O nome da constante não se inicia com o caractere <strong>$</strong>, de forma diferente das variáveis.</p>
<p>O valor padrão para <em>[ignora-caso]</em> é FALSE, ou seja, o caso não é ignorado &#8211; maiúsculas e minúsculas no nome da constante são diferenciadas.<br />
 Alterando seu valor para TRUE não será feita diferenciação entre maiúsculas e minúsculas no nome da constante.</p>
<h4>Exemplo:</h4>
<pre><span style="color: #ff0000;"><strong>&lt;?php</strong></span>
<span style="color: #ff0000;"><strong> define("constante1", "Bóson");</strong></span>
<span style="color: #ff0000;"><strong> define("constante2", "Próton", TRUE);</strong></span>
<span style="color: #ff0000;"><strong> define("constante3", 35);</strong></span>
<span style="color: #ff0000;"><strong> echo constante1."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo Constante1."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo constante2."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo CONSTANTE2."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong> echo constante3."&lt;br&gt;";</strong></span>
<span style="color: #ff0000;"><strong>?&gt;</strong></span></pre>
<p>Note que é gerado um erro ao tentar mostrar o conteúdo da constante 1 quando ela é referenciada como Constante1, com o primeiro caractere em maiúscula. Já a constante2, mesmo em maiúsculas, não gera esse erro, pois o parâmetro ignora_caso foi definido como TRUE para ela:</p>
<p><a href="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-nome.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-11534 size-full" title="Erro em constantes de nome diferente no PHP" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-nome.png" alt="Erro em constantes de nome diferente no PHP" width="1017" height="124" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-nome.png 1017w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-nome-420x51.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-nome-768x94.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></a></p>
<p>Após uma constante ser definida, seu valor não pode ser alterado durante a execução do script. Qualquer tentativa de escrever um valor diferente em uma constante já definida resultará em erro na execução do script, como é possível constatar acrescentando as seguintes instruções ao script anterior:</p>
<pre><span style="color: #ff0000;"><strong>constante3 = 20;</strong></span>
<span style="color: #ff0000;"><strong>echo constante3."&lt;br&gt;";</strong></span></pre>
<p>Será gerado o erro a seguir, mostrando que a atribuição (=) não é possível a uma constante após ter sido criada:</p>
<div id="attachment_11532" style="width: 868px" class="wp-caption aligncenter"><a href="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11532" class="wp-image-11532 size-full" title="Erro em atribuição de constantes no PHP" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro.png" alt="Erro em atribuição de constantes no PHP" width="858" height="60" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro.png 858w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-420x29.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/03/constantes-PHP-erro-768x54.png 768w" sizes="auto, (max-width: 858px) 100vw, 858px" /></a><p id="caption-attachment-11532" class="wp-caption-text">Erro ao tentar atribuir valor a uma constante no PHP. Clique na imagem para ampliá-la.</p></div>
<h3>Constantes e Arrays</h3>
<p>Também podemos criar uma constante do tipo array, a partir do PHP 7. Veja abaixo um exemplo:</p>
<pre><span style="color: #ff0000;"><strong>define('LINGUAGENS', array(</strong></span><span style="color: #ff0000;"><strong>'C',</strong></span><span style="color: #ff0000;"><strong>'Java',</strong></span><span style="color: #ff0000;"><strong>'PHP',</strong></span><span style="color: #ff0000;"><strong>'Haskell'</strong></span><span style="color: #ff0000;"><strong>));</strong></span>
<span style="color: #ff0000;"><strong>echo LINGUAGENS[1]; <span style="color: #339966;">// Saída: "Java"</span></strong></span></pre>
<p>Próximo: <a href="http://www.bosontreinamentos.com.br/php-programming/curso-de-php-operadores-aritmeticos-e-de-atribuicao-de-valores/">Operadores aritméticos e de atribuição de variáveis em PHP</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/constantes-em-php/">Constantes em PHP</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/php-programming/constantes-em-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Elementos, Tags e Atributos em HTML</title>
		<link>https://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/</link>
					<comments>https://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sat, 01 Oct 2016 16:41:15 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=8264</guid>

					<description><![CDATA[<p>Tags, Elementos e Atributos em HTML Neste tutorial vamos abordar o conceito de Elementos em HTML, assim como introduzir as tags e seus atributos em HTML. Tags Tags são símbolos codificados que separam uma parte de conteúdo da outra, além de informar ao navegador com qual tipo de conteúdo ele está lidando. Os navegadores Web interpretam as tags dentro do documento html e exibem a página de acordo com os tipos utilizados. Em HTML as tags são envolvidas pelos símbolos &#60; e &#62; para distingui-las do texto comum do documento. Por exemplo, temos a seguir uma tag típica que determina o título de uma página, o qual aparece na barra de título do navegador: &#60;title&#62; Em HTML as tags não são case-sensitive, ou seja, não existe a diferenciação entre letras maiúsculas e minúsculas. Porém, é recomendável que se siga um estilo comum ao escrever tags em um documento, para efeitos de clareza de código, como por exemplo sempre escrever as tags em letras minúsculas &#8211; que é o padrão que adoto nestes tutoriais. A maioria das tags vem em pares: uma tag inicia um item de conteúdo da página (tag de início), e outra tag marca o fim desse conteúdo [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/">Elementos, Tags e Atributos em HTML</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Tags, Elementos e Atributos em HTML</h2>
<p>Neste tutorial vamos abordar o conceito de <strong>Elementos</strong> em HTML, assim como introduzir as tags e seus atributos em HTML.</p>
<h3>Tags</h3>
<p><strong>Tags</strong> são símbolos codificados que separam uma parte de conteúdo da outra, além de informar ao navegador com qual tipo de conteúdo ele está lidando.</p>
<p>Os navegadores Web interpretam as tags dentro do documento html e exibem a página de acordo com os tipos utilizados.</p>
<p>Em HTML as tags são envolvidas pelos símbolos <strong>&lt;</strong> e <strong>&gt;</strong> para distingui-las do texto comum do documento. Por exemplo, temos a seguir uma tag típica que determina o título de uma página, o qual aparece na barra de título do navegador:</p>
<pre><span style="color: #ff0000;"><strong>&lt;title&gt;</strong></span></pre>
<p>Em HTML as tags não são case-sensitive, ou seja, não existe a diferenciação entre letras maiúsculas e minúsculas. Porém, é recomendável que se siga um estilo comum ao escrever tags em um documento, para efeitos de clareza de código, como por exemplo sempre escrever as tags em letras minúsculas &#8211; que é o padrão que adoto nestes tutoriais.</p>
<p>A maioria das tags vem em pares: uma tag inicia um item de conteúdo da página (tag de início), e outra tag marca o fim desse conteúdo (tag de fechamento). No exemplo anterior, a tag de fechamento é a seguinte:</p>
<pre><span style="color: #ff0000;"><strong>&lt;/title&gt;</strong></span></pre>
<p>O caractere <strong>/</strong> define a tag de fechamento. Desta forma, poderíamos definir o título de uma página web assim:</p>
<pre><span style="color: #ff0000;"><strong>&lt;title&gt;Bóson Treinamentos em Tecnologia&lt;/title&gt;</strong></span></pre>
<h3>Elementos</h3>
<p>O conjunto apresentado na seção anterior compõe um <strong>Elemento</strong>, que é o bloco básico de construção de documentos html.</p>
<p>Um elemento é composto pelas tags de início e fim, mais seu conteúdo, que é o texto contido entre as tags.</p>
<p>Alguns elementos não necessitam da tag de fechamento, e não possuem conteúdo, como por exemplo a tag <strong>&lt;br&gt;</strong>, que marca uma quebra de linha em um documento. Esse elemento também pode ser representado como <strong>&lt;br /&gt;</strong>, sendo essa representação opcional atualmente. Damos a esse tipo de elemento o nome de <em><strong>Elemento Vazio</strong></em>.</p>
<h3>Atributos</h3>
<p>A tag de início de um elemento html pode possuir <strong>atributos</strong> que fornecem mais informações sobre o elemento, como propriedades específicas ou formatação a ser aplicada sobre ele.</p>
<p>Um atributo consiste em um nome de atributo seguido de um valor de atributo, ligados por um sinal de igual (=), como no exemplo:</p>
<pre><span style="color: #ff0000;"><strong>&lt;th class="cabeçalho"&gt;Produto&lt;/th&gt;</strong></span></pre>
<p>Neste exemplo a tag <strong>&lt;th&gt;</strong>, que define um cabeçalho de uma tabela, possui um atributo <strong>class</strong> cujo valor é igual a &#8220;<strong>cabeçalho</strong>&#8220;, o que permite a aplicação de estilos de formatação diferenciados a esse elemento.</p>
<p>O valor de um atributo deve, preferencialmente, ser declarado entre aspas, mesmo que alguns atributos não o exijam.</p>
<p>Um elemento pode ter mais de um atributo, ou pode simplesmente não usar atributo algum.</p>
<p>A partir do próximo tutorial vamos iniciar o estudo dos elementos html individuais, incluindo seus principais atributos.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/">Elementos, Tags e Atributos em HTML</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/html/elementos-tags-e-atributos-em-html/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
