<?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>Arquivos array_first - ATMUN Host | Blog</title>
	<atom:link href="https://blog.atmunhost.com.br/tag/array_first/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Fique por dentro das últimas novidades da ATMUN Host</description>
	<lastBuildDate>Wed, 18 Mar 2026 16:16:18 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://blog.atmunhost.com.br/wp-content/uploads/2015/01/cropped-apple-touch-icon-150x150.png</url>
	<title>Arquivos array_first - ATMUN Host | Blog</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>O PHP 8.5 chegou na ATMUN Host: Códigos mais limpos, seguros e rápidos!</title>
		<link>https://blog.atmunhost.com.br/o-php-8-5-chegou-na-atmun-host-codigos-mais-limpos-seguros-e-rapidos/</link>
					<comments>https://blog.atmunhost.com.br/o-php-8-5-chegou-na-atmun-host-codigos-mais-limpos-seguros-e-rapidos/#respond</comments>
		
		<dc:creator><![CDATA[ATMUN Host]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 16:09:37 +0000</pubDate>
				<category><![CDATA[Novidades]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[8.5]]></category>
		<category><![CDATA[array_first]]></category>
		<category><![CDATA[array_last]]></category>
		<category><![CDATA[clone with]]></category>
		<category><![CDATA[NoDiscard]]></category>
		<category><![CDATA[novidades]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://blog.atmunhost.com.br/?p=2258</guid>

					<description><![CDATA[<img width="160" height="160" src="https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-160x160.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-160x160.png 160w, https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-150x150.png 150w" sizes="(max-width: 160px) 100vw, 160px" />A nova versão do PHP já está disponível em nossos servidores! O PHP 8.5 chega com melhorias muito aguardadas pela comunidade, trazendo avanços importantes em legibilidade de código, segurança e desempenho das aplicações web.&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<img width="160" height="160" src="https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-160x160.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" srcset="https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-160x160.png 160w, https://blog.atmunhost.com.br/wp-content/uploads/2026/03/ilustra_php_85-150x150.png 150w" sizes="(max-width: 160px) 100vw, 160px" /><p data-start="499" data-end="727">A nova versão do PHP já está disponível em nossos servidores! O <strong data-start="563" data-end="574">PHP 8.5</strong> chega com melhorias muito aguardadas pela comunidade, trazendo avanços importantes em legibilidade de código, segurança e desempenho das aplicações <em>web</em>.</p>
<p data-start="729" data-end="984">Seja para iniciar um novo projeto ou atualizar um sistema já existente, essa versão oferece recursos que tornam o desenvolvimento mais simples e eficiente, com códigos mais organizados, fáceis de entender e menos propensos a erros difíceis de identificar.</p>
<p data-start="986" data-end="1195">Para te ajudar a aproveitar ao máximo essas novidades, preparamos um conteúdo técnico com exemplos práticos, destacando as principais mudanças do PHP 8.5 e como elas podem impactar positivamente seus projetos.</p>
<hr data-path-to-node="7" />
<h4 data-path-to-node="8"><strong>🆕 O que muda na prática com o PHP 8.5?</strong></h4>
<p data-path-to-node="9"><strong>1. Código mais limpo com o operador Pipe (<code data-path-to-node="9" data-index-in-node="42">|&gt;</code>)</strong></p>
<p data-start="477" data-end="626">Uma situação muito comum no dia a dia é aplicar várias transformações em um dado — por exemplo, limpar, formatar e proteger um texto antes de exibir.</p>
<p data-start="628" data-end="723">Antes, isso normalmente resultava em funções aninhadas, o que dificulta a leitura e manutenção:</p>
<div class="code-block ng-tns-c2369462512-62 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQmwE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-62">
<div class="animated-opacity ng-tns-c2369462512-62">
<pre><code class="html"><span class="variable">$title </span><span class="keyword">= </span><span class="string">' Lançamento PHP 8.5 '</span><span class="keyword">;

</span><span class="variable">$slug </span><span class="keyword">= </span><span class="default">strtolower</span><span class="keyword">(
    </span><span class="default">str_replace</span><span class="keyword">(</span><span class="string">'.'</span><span class="keyword">, </span><span class="string">''</span><span class="keyword">,
        </span><span class="default">str_replace</span><span class="keyword">(</span><span class="string">' '</span><span class="keyword">, </span><span class="string">'-'</span><span class="keyword">,
            </span><span class="default">trim</span><span class="keyword">(</span><span class="variable">$title</span><span class="keyword">)
        )
    )
);

</span><span class="default">var_dump</span><span class="keyword">(</span><span class="variable">$slug</span><span class="keyword">);
</span><span class="comment">// string(17) "lançamento-php-85"</span></code></pre>
</div>
</div>
</div>
<p data-start="802" data-end="943">O problema aqui é que a leitura acontece &#8220;de dentro para fora&#8221;, o que não é natural e complica o entendimento rápido do que está acontecendo.</p>
<p data-start="945" data-end="1005">Com o <code data-start="951" data-end="955">|&gt;</code>, o fluxo passa a ser linear e muito mais legível:</p>
<div class="code-block ng-tns-c2369462512-63 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQnAE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-63">
<div class="animated-opacity ng-tns-c2369462512-63">
<pre><code class="html"><span class="variable">$title </span><span class="keyword">= </span><span class="string">' Lançamento PHP 8.5 '</span><span class="keyword">;

</span><span class="variable">$slug </span><span class="keyword">= </span><span class="variable">$title
    </span><span class="keyword">|&gt; </span><span class="default">trim</span><span class="keyword">(...)
    |&gt; (fn(</span><span class="variable">$str</span><span class="keyword">) =&gt; </span><span class="default">str_replace</span><span class="keyword">(</span><span class="string">' '</span><span class="keyword">, </span><span class="string">'-'</span><span class="keyword">, </span><span class="variable">$str</span><span class="keyword">))
    |&gt; (fn(</span><span class="variable">$str</span><span class="keyword">) =&gt; </span><span class="default">str_replace</span><span class="keyword">(</span><span class="string">'.'</span><span class="keyword">, </span><span class="string">''</span><span class="keyword">, </span><span class="variable">$str</span><span class="keyword">))
    |&gt; </span><span class="default">strtolower</span><span class="keyword">(...);

</span><span class="default">var_dump</span><span class="keyword">(</span><span class="variable">$slug</span><span class="keyword">);
</span><span class="comment">// string(17) "lançamento-php-85"</span></code></pre>
</div>
</div>
</div>
<p data-path-to-node="16">Agora, cada etapa do processamento fica explícita e segue a ordem lógica de execução. Isso facilita não só a leitura, mas também a manutenção e a depuração do código — especialmente em <em>pipelines</em> maiores.</p>
<p data-path-to-node="17"><strong>2. Manipulação de URLs muito mais segura (Nova API de URI)</strong></p>
<p data-start="1391" data-end="1535">Manipular URLs manualmente (com <code data-start="1423" data-end="1432">explode</code>, <code data-start="1434" data-end="1445">parse_url</code>, etc.) sempre foi uma fonte comum de <em>bugs</em>, principalmente quando há múltiplos parâmetros.</p>
<p data-start="1537" data-end="1644">Com a nova API de URI, o PHP passa a oferecer uma abordagem orientada a objetos, mais segura e padronizada:</p>
<div class="code-block ng-tns-c2369462512-64 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQnQE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-64">
<div class="animated-opacity ng-tns-c2369462512-64">
<pre class="ng-tns-c2369462512-64"><code class="code-container formatted ng-tns-c2369462512-64" role="text" data-test-id="code-content">$uri = Uri\parse('https://atmunhost.com.br/hospedagem?plano=HospedagemNVMe<span class="ͼc">&amp;promocao=30dias');</span>

echo $uri-&gt;getHost();  // atmunhost.com.br
echo $uri-&gt;getPath();  // hospedagem
echo $uri-&gt;getQuery(); // plano=HospedagemNVMe&amp;promocao=30dias
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="21">Se quiser trabalhar diretamente com os parâmetros, o ideal é convertê-los:</p>
<pre class="ng-tns-c2369462512-64"><code class="code-container formatted ng-tns-c2369462512-64" role="text" data-test-id="code-content">parse_str($uri-&gt;getQuery(), $params);

echo $params['plano'];    // HospedagemNVMe
echo $params['promocao']; // 30dias</code></pre>
<p>Isso elimina a necessidade de manipulação manual de strings e reduz bastante o risco de erros em URLs mais complexas.</p>
<p data-path-to-node="21"><strong>3. Cópias de objetos mais simples com <code data-start="2275" data-end="2287">clone with</code></strong></p>
<p data-path-to-node="22">Quando trabalhamos com informações blindadas (as famosas classes <i data-path-to-node="22" data-index-in-node="65">readonly</i>, que não podem ser alteradas depois de criadas), fazer uma cópia desse dado mudando apenas um pequeno detalhe (como o IP de um servidor) dava um certo trabalho. Agora, você copia e altera na mesma linha.</p>
<p data-path-to-node="23"><b data-path-to-node="23" data-index-in-node="0">Exemplo prático:</b></p>
<div class="code-block ng-tns-c2369462512-65 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQngE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-65">
<div class="animated-opacity ng-tns-c2369462512-65">
<pre class="ng-tns-c2369462512-65"><code class="code-container formatted ng-tns-c2369462512-65" role="text" data-test-id="code-content">readonly <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Servidor</span> </span>{
    <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">__construct</span>(<span class="hljs-params">
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> <span class="hljs-variable">$nome</span>,
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> <span class="hljs-variable">$ip</span>
    </span>) </span>{}
}

<span class="hljs-variable">$servidorAtual</span> = <span class="hljs-keyword">new</span> Servidor(<span class="hljs-string">'Web01'</span>, <span class="hljs-string">'192.168.1.10'</span>);

<span class="hljs-comment">// PHP 8.5 - Fazendo uma cópia, mas mudando apenas o IP</span>
<span class="hljs-variable">$novoServidor</span> = <span class="hljs-keyword">clone</span> <span class="hljs-variable">$servidorAtual</span> with { ip: <span class="hljs-string">'10.0.0.50'</span> };

<span class="hljs-keyword">echo</span> <span class="hljs-variable">$novoServidor</span>-&gt;nome; <span class="hljs-comment">// Continua: Web01</span>
<span class="hljs-keyword">echo</span> <span class="hljs-variable">$novoServidor</span>-&gt;ip;   <span class="hljs-comment">// Agora é: 10.0.0.50</span>
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="25"><strong>4. Pegando o primeiro e o último item de uma lista (<code data-path-to-node="25" data-index-in-node="52">array_first</code> e <code data-path-to-node="25" data-index-in-node="66">array_last</code>)</strong></p>
<p data-path-to-node="26">Essa é daquelas novidades que fazem a gente pensar: <i data-path-to-node="26" data-index-in-node="52">&#8220;por que não fizeram isso antes?&#8221;</i>. Chega de usar comandos confusos só para pegar o primeiro ou o último item de um array. O PHP 8.5 trouxe comandos próprios e super fáceis de lembrar para isso.</p>
<p data-path-to-node="27"><b data-path-to-node="27" data-index-in-node="0">Exemplo prático:</b></p>
<div class="code-block ng-tns-c2369462512-66 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQnwE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-66">
<div class="animated-opacity ng-tns-c2369462512-66">
<pre class="ng-tns-c2369462512-66"><code class="code-container formatted ng-tns-c2369462512-66" role="text" data-test-id="code-content"><span class="hljs-variable">$planos</span> = [<span class="hljs-string">'Hospedagem de Sites'</span>, <span class="hljs-string">'Streaming'</span>, <span class="hljs-string">'Servidores Cloud'</span>];

<span class="hljs-keyword">echo</span> array_first(<span class="hljs-variable">$planos</span>); <span class="hljs-comment">// O resultado será: Hospedagem de Sites</span>
<span class="hljs-keyword">echo</span> array_last(<span class="hljs-variable">$planos</span>);  <span class="hljs-comment">// O resultado será: Servidores Cloud</span>
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="29"><strong>5. Proteção extra contra falhas com o <code data-path-to-node="29" data-index-in-node="38">#[NoDiscard]</code></strong></p>
<p data-path-to-node="30">Sabe quando criamos uma função que faz uma checagem importante, mas na hora da pressa esquecemos de conferir a resposta que ela deu? Isso pode causar erros no sistema difíceis de achar.</p>
<p data-path-to-node="31">O <code data-path-to-node="31" data-index-in-node="2">#[NoDiscard]</code> funciona como um alerta. Se você colocar isso na sua função e esquecer de verificar o resultado dela mais para frente, o PHP vai te avisar do erro.</p>
<div class="code-block ng-tns-c2369462512-67 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwi39sj6kqiTAxUAAAAAHQAAAAAQoAE">
<div class="formatted-code-block-internal-container ng-tns-c2369462512-67">
<div class="animated-opacity ng-tns-c2369462512-67">
<pre class="ng-tns-c2369462512-67"><code class="code-container formatted ng-tns-c2369462512-67" role="text" data-test-id="code-content"><span class="hljs-comment">#[NoDiscard]</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">testarConexao</span>(<span class="hljs-params"><span class="hljs-keyword">string</span> <span class="hljs-variable">$host</span></span>): <span class="hljs-title">bool</span> </span>{
    <span class="hljs-comment">// Código que testa a conexão aqui...</span>
    <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
}

<span class="hljs-comment">// PHP 8.5 - Se você chamar a função solta assim, o PHP vai dar um aviso de erro!</span>
testarConexao(<span class="hljs-string">'192.168.1.1'</span>);

<span class="hljs-comment">// O jeito certo agora é sempre guardar ou testar o resultado:</span>
<span class="hljs-variable">$tudoCerto</span> = testarConexao(<span class="hljs-string">'192.168.1.1'</span>);
<span class="hljs-keyword">if</span> (<span class="hljs-variable">$tudoCerto</span>) { 
  // Segue o fluxo...
}
</code></pre>
</div>
</div>
</div>
<hr data-path-to-node="34" />
<p data-path-to-node="36">A nova versão já está disponível para uso. A alteração pode ser feita em poucos cliques pelo painel de controle (<a href="https://atmunhost.com.br/hospedagem-brasil" target="_blank" rel="noopener"><strong>cPanel</strong></a> ou <a href="https://atmunhost.com.br/hospedagem-ssd" target="_blank" rel="noopener"><strong>DirectAdmin</strong></a>). Basta acessar a opção <strong data-start="363" data-end="391">Selecionar Versão do PHP</strong> (ou <em data-start="396" data-end="416">Select PHP Version</em>) e escolher o PHP 8.5.</p>
<blockquote data-path-to-node="37">
<p data-path-to-node="37,0"><b data-path-to-node="37,0" data-index-in-node="0">Importante:</b> Antes de mudar a versão do seu site principal que já está no ar, recomendamos que você teste tudo em um ambiente de testes. Se você usa WordPress com muitos plugins e temas, é importante garantir que todos eles já são compatíveis com o PHP 8.5 para o seu site continuar funcionando perfeitamente!</p>
</blockquote>
<p data-path-to-node="38">Se surgir qualquer dúvida durante a atualização ou no uso da nova versão, nossa equipe de atendimento está à disposição para auxiliar e garantir o melhor desempenho do seu ambiente de hospedagem de sites. <a href="https://atmunhost.com.br/contato" target="_blank" rel="noopener"><strong>Entre em contato conosco</strong></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.atmunhost.com.br/o-php-8-5-chegou-na-atmun-host-codigos-mais-limpos-seguros-e-rapidos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
