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
namespaceApp\Controller\Pages;use \App\Utils\View;classPage{/**
*
*Método responsavel por renderizar o topo da pagina
* @return string
*/privatestaticfunction getHeader(){returnView::render('pages/header');//$depura = View::render('pages/header');//var_dump($depura);}privatestaticfunction getFooter(){returnView::render('pages/footer');}/**
* Metodo responsavel por retornar o conteúdo (view) da nossa Pagina Generica
* @return string
*/publicstaticfunction getPage($title, $content){returnView::render('pages/page',['title'=> $title,'header'=>self::getHeader(),'content'=> $content,///'footer' => self::getFooter()]);}}?>
a pagina View.php
<?php
namespaceApp\Utils;classView{/**
*
* Método responsavel por retornar o conteúdo de uma view
* @param string $view
* @return string
*
*/privatestaticfunction 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
*
*/publicstaticfunction 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
namespaceApp\Controller\Pages;use \App\Utils\View;classHomeextendsPage{/**
* Metodo responsavel por retornar o conteúdo (view) da nossa home
* @return string
*/publicstaticfunction 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 paginareturn parent::getPage('Like Desenvolvimento - MVC', $content);}}?>
ajuda erro mvc
em PHP
Postado
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:
a pagina Page.php:
a pagina View.php
A pagina Home.php: