Ir para conteúdo

Lucas Fregonezi

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Lucas Fregonezi postou

  1. Lucas Fregonezi

    ajuda erro mvc

    Bom dia pessoal, sou iniciante em php e estou tendo um problema que não sei resolver. estou tentando aprender MVC e logo de inicio tive um erro que não sei como resolver, alguém pode me ajudar? o erro: Fatal error: Uncaught ArgumentCountError: Too few arguments to function App\Utils\View::render(), 1 passed in C:\xampp\htdocs\app\Controller\Pages\Page.php on line 16 and exactly 2 expected in C:\xampp\htdocs\app\Utils\View.php:33 Stack trace: #0 C:\xampp\htdocs\app\Controller\Pages\Page.php(16): App\Utils\View::render('pages/header') #1 C:\xampp\htdocs\app\Controller\Pages\Page.php(34): App\Controller\Pages\Page::getHeader() #2 C:\xampp\htdocs\app\Controller\Pages\Home.php(23): App\Controller\Pages\Page::getPage('Like Desenvolvi...', '<h1>Home LucasD...') #3 C:\xampp\htdocs\index.php(7): App\Controller\Pages\Home::getHome() #4 {main} thrown in C:\xampp\htdocs\app\Utils\View.php on line 33 a pagina Page.php: <?php namespace App\Controller\Pages; use \App\Utils\View; class Page { /** * *Método responsavel por renderizar o topo da pagina * @return string */ private static function getHeader(){ return View::render('pages/header'); //$depura = View::render('pages/header'); //var_dump($depura); } private static function getFooter(){ return View::render('pages/footer'); } /** * Metodo responsavel por retornar o conteúdo (view) da nossa Pagina Generica * @return string */ public static function getPage($title, $content) { return View::render('pages/page', [ 'title' => $title, 'header' => self::getHeader(), 'content' => $content, ///'footer' => self::getFooter() ]); } } ?> a pagina View.php <?php namespace App\Utils; class View{ /** * * Método responsavel por retornar o conteúdo de uma view * @param string $view * @return string * */ private static function getContentView($view){ // $file = __DIR__.'/../../resources/view/'.$view.'.html'; return file_exists($file) ? file_get_contents($file) : ''; } /** * * Método responsavel por retornar o conteúdo renderizado de uma view * @param string $view * @param array $vars (strings/numerics) * @return string * */ public static function render($view, $vars){ $contentView = self::getContentView($view); //Chaves do array de variaveis $keys = array_keys($vars); //mapeio o array $keys = array_map(function($item){ return '{{'.$item.'}}'; }, $keys); return str_replace($keys,array_values($vars),$contentView); } } ?> A pagina Home.php: <?php namespace App\Controller\Pages; use \App\Utils\View; class Home extends Page{ /** * Metodo responsavel por retornar o conteúdo (view) da nossa home * @return string */ public static function getHome() { $content = View::render('pages/home', [ 'name' => 'LucasDevLike', 'description' => 'aprendendo php e mvc', 'link' => 'https://likedesenvolvimento.com.br', 'site' => 'likedesenvolvimento.com.br' ]); //Retorna a view da pagina return parent::getPage('Like Desenvolvimento - MVC', $content); } } ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.