Fácil PHP
Incluindo uma saudação
Enunciado
Crie dois arquivos: saudacao.php que define uma função ola($nome) retornando "Olá, $nome!", e index.php que inclui esse arquivo com require e exibe o resultado para o nome "Ana". Use __DIR__ para montar o caminho.
Requisitos
- O arquivo
saudacao.phpdeve conter a funçãoola. - O arquivo
index.phpdeve usarrequirecom__DIR__. - A saída deve ser exatamente
Olá, Ana!.
Código inicial
<?php
// index.php
// Inclua o arquivo saudacao.php usando require e __DIR__
// Chame a função ola com 'Ana' e exiba o resultado
echo ola('Ana');
?>
Saída esperada
Olá, Ana!
Ver dica
Lembre-se de que __DIR__ contém o diretório do arquivo atual. Use a concatenação com '/saudacao.php'.
Mostrar solução
<?php
// saudacao.php
function ola($nome) {
return "Olá, $nome!";
}
?>
<?php
// index.php
// Inclui o arquivo de funções usando caminho absoluto com __DIR__
require __DIR__ . '/saudacao.php';
// Chama a função e exibe
echo ola('Ana');
?>
Passo a passo
- No arquivo
saudacao.php, definimos a funçãoolaque recebe um nome e retorna a saudação formatada. - No
index.php, usamosrequirepara incluirsaudacao.php. O caminho é montado com__DIR__ . '/saudacao.php', garantindo que o arquivo seja encontrado independentemente do diretório de execução. - Chamamos
ola('Ana')e exibimos o resultado comecho.
Por que funciona
O require insere o conteúdo de saudacao.php no ponto da chamada, tornando a função ola disponível no escopo global. Como usamos __DIR__, o caminho é absoluto e não depende do diretório atual, evitando falhas.
Erros comuns
- Esquecer o
__DIR__e usar apenas'saudacao.php': se o script for executado de outro diretório, o arquivo não será encontrado e ocorrerá erro fatal. - Usar
includeem vez derequire: se o arquivo não existir, o script continuaria e a chamada aolacausaria erro fatal por função inexistente. - Esquecer o
;no final da linha dorequire: erro de sintaxe.
Outra forma de resolver
Usar require_once para garantir que o arquivo não seja incluído duas vezes, embora neste exemplo não haja repetição.
Saída esperada
Olá, Ana!