Boa tarde Turma!
Fui um pouco além do ensinado e solicitado pelo Prof. Vinícius e criei uma função para gerar o nome do arquivo .json que irá salvar os dados do filme contidos no array associativo php.
--
A função é composta pelo método - explode() - que divide a string em partes separadas pelo "espaço" e as armazena em uma - array - . Em sequência, inicia um - looping for - , iterando e concatenando todas as partes que foram separadas e armazenadas nos indices do array, formando uma nova string contendo o nome do filme sem separação por "espaço".
Essa string gerada, contendo o nome do filme completo sem separação por espaço é atribuída a uma variável que consequentemente retorna um valor que será atribuída a uma variável presente no arquivo "/criar-filme.php" que também está na pasta do projeto screen-match.
--
A função que está presente no arquivo funcoes.php e na pasta do projeto screen-match é chamada pela função REQUIRE, importando as funções e permitindo a interação entre os arquivos e códigos.
A função é chamada juntamente com o atributo do valor "nomeFilme" , que está presente e acessível através do array associativo juntamente com sua chave associativa:
$nomeFilme = criarNomeArquivosJsonFilmes($dadosNovoFilme['nomeFilme']);
No arquivo "criar-filme.php", que está logo a baixo, é possível conferir como ocorre essa criação do nome do arquivo através da função "criarNomeArquivosJsonFilmes($nomeFilme)".
function criarNomeArquivosJsonFilmes($nomeFilme){
$partesNome = explode(" ", $nomeFilme);
$juntaPartesNome = "";
for($p = 0; $p < count($partesNome); $p++) {
$juntaPartesNome .= $partesNome[$p]; //concatena as variaveis tipo string
}
return $juntaPartesNome;
}
Logo na sequencia, também no arquivo, é possível visualizar como apliquei a variável "$nomeFilme" no algoritmo de criação do arquivo .json que é exportado para pasta externa do projeto screen-match.
<?php
require __DIR__ . "/funcoes-junior.php";
// 1) Transforme o array associativo $filme em um JSON e escreva o resultado em um arquivo;
$dadosNovoFilme = [
"nomeFilme" => "A Forja - O Poder da Transformação",
"anoLancamento" => 2024,
"notasAvaliacoes" => [10,9,10,10,8,9,8,10,9],
"planoPrime" => true,
"genero" => "drama",
];
$nomeFilme = criarNomeArquivosJsonFilmes($dadosNovoFilme['nomeFilme']);
$nomeDoArquivo = __DIR__ . '/'. $nomeFilme. '.json';
$filmesExportar = json_encode($dadosNovoFilme);
file_put_contents($nomeDoArquivo, $filmesExportar);
Na segunda parte do exercício, executamos o algoritmo para a importação e decodificação dos dados do filme contidos dentro do arquivo .json que são novamente transformados em um array associativo em PHP ficando disponível para ser utilizado novamente dentro do código em uma "variável / array" que denominei de $filmeImportadoEDecodificado.
<?php
//Em outro arquivo PHP, leia o conteúdo em JSON e transforme-o em um array associativo no PHP.
$importaFilme = file_get_contents(__DIR__ . '/AForja-OPoderdaTransformação.json');
$decodeFilmeImportado = json_decode($importaFilme, true);
$filmeImportadoEDecodificado = $decodeFilmeImportado;
var_dump($filmeImportadoEDecodificado);
Espero que tenham entendido meu código e sua explicação e também estou disposto a críticas e melhorias.
Att, Julio C. S. Junior