1
resposta

Dúvida sobre echo no href

Boa tarde. Fiquei com dúvida desse echo no href:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O echo é feito para imprimir, nesse caso precisamos atribuir o valor da chave 'link' ao href da tag a, como echo de exibir consegue fazer isso?

Segue código completo:

<?php

$artigos = 
[
    [
        'titulo' => 'Primeiros passos com Spring',
        'conteudo' => 'Na empresa onde trabalho começamos um Coding Dojo, que é basicamente uma reunião com programadores e
        programadoras a fim de resolver desafios e aperfeiçoar as habilidades com algoritmos.',
        'link' => 'primeiros-passos-com-spring.html'
    ],
    [
        'titulo' => 'O que é Metodologia Ágil?',
        'conteudo' => 'Uma vez fui contratada por uma empresa que desenvolvia softwares e aplicativos para outras empresas.',
        'link' => 'o-que-e-metodologia-agil.html'
    ],
    [
        'titulo' => 'Como é o funil do Growth Hacking?',
        'conteudo' => 'Minha amiga que possui um clube de assinaturas começou a utilizar o Growth Hacking após conhecer um pouco
        mais sobre ele.',
        'link' => 'como-e-o-funil-do-growth-hacking.html'
    ]
];

?>

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <title>Meu Blog</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div id="container">

        <?php
            foreach ($artigos as $artigo) 
            :
        ?>
            <h2>
                <a href="<?php echo $artigo['link'] ?>">
                    <?php echo $artigo['titulo'] ?>
                </a>
            </h2>
            <p>
                <?php echo $artigo['conteudo'] ?>
            </p>
        <?php endforeach ?>

    </div>
</body>

</html>
1 resposta

Se entendi bem, tua dúvida é como o echo consegue imprimir na saída o link do artigo, certo?

Avaliando o código temos a inicialização de um array de arrays associativos no topo do seu arquivo.

O foreach itera em cada elemento desse array de arrays associativos e define o elemento atual da tua iteração, ou seja, do teu loop sob a variável $artigo, portanto, $artigo aponta para um array associativo. O array associativo tem suas chaves e valores, ao usar $array["chave"] para um array qualquer temos o valor da chave com nome "chave" naquele array, assim ao fazer $artigo['link'] temos o valor da chave "link" no array associativo $artigo, da mesma forma como fazemos com título. Obter essa saída no documento html é possível pois o código php só é executado dentro das tags php, tudo que houver fora disso é apenas saída do programa, um exemplo clássico é o "hello, world!" em php onde podemos apenas escrever "hello, world!" num arquivo php qualquer, sem nem mesmo ter aberto uma tag php, e o interpretador do php executará mesmo assim e a saída do teu programa seria o próprio "hello, world!". Espero ter ajudado