Boa tarde, pessoal!
Sou novato em php .... venho do Lazarus;
Estou tendo dificuldades em corrigir/converter esta função para o php 7.
No php 5.6 este sistema funciona normalmente, porem quando esta no php 7 me retorna o erro : Uncaught Error: Cannot use object of type stdClass as array in
justamente na linha if (isset(this->db->data[0])) { $this->map($this->db->data[a]); } return $this->db->data;
Se alguem puder me ajudar e se não for pedir muito, corrigir esta função pra eu ter como exemplo, agradeço.
Estou tentando aprender PDO com MVC através de aulas no youtube. Estou com um problema no desenvolvimento de um framework quando chamo o parâmetro. Estou debugando o codigo para tentar achar o erro e parece que o paramentro chamado é o anterior.
Quando uso o seguinte link http://localhost/framework_mvc/paginas e debugo aparece o seguinte:
Ate ai tudo certo. Quando uso o seguinte link http://localhost/framework_mvc/paginas/sobre e debugo aparece o seguinte:
object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "sobre" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } }
Quando o que deveria ocorrer era um erro e ser necessário que fosse adicionado mais um parametro na url ficando por exemplo assim: http://localhost/framework_mvc/paginas/sobre/24.
Codigos usados:
Rota.php
<?php
class Rota{
private $controlador = 'Paginas';
private $metodo = 'index';
private $parametros = [];
public function __construct(){
$url = $this->url() ? $this->url() : [0];
if(file_exists('../app/Controllers/'.ucwords($url[0]).'php')):
$this->controlador = ucwords($url[0]);
unset($url[0]);
endif;
require_once '../app/Controllers/'.$this->controlador.'.php';
$this->controlador = new $this->controlador;
if(isset($url[1])):
if(method_exists($this->controlador, $url[1])):
$this->metodo = $url[1];
unset($url[1]);
endif;
endif;
$this->parametros = $url ? array_values($url) : [];
call_user_func_array([$this->controlador,$this->metodo], $this->parametros);
var_dump($this);
}
private function url(){
$url = filter_input(INPUT_GET,'url',FILTER_SANITIZE_URL);
if(isset($url)):
$url = trim(rtrim($url,'/'));
$url = explode('/',$url);
return $url;
endif;
}
}
Paginas.php
<?php
class Paginas{
public function index(){
}
public function sobre($id){
echo $id."<hr/>";
}
}
index.php
<?php
include './../app/Libraries/Rota.php';
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Frameword de PHP7 - MVC</title>
</head>
<body>
<?php
$rotas = new Rota();
?>
</body>
</html>
A video aula que estou assistindo é essa:
Olá a todos, estou com uma dúvida se alguém puder me ajudar.
Qual seria a melhor forma de filtrar e como filtrar $_SERVER['REQUEST_METHOD']?
Tenho um formulário simples
<form action="deletar/10" method="post">
<input type="submit" class="btn btn-sm btn-danger" value="Deletar">
</form>
Então recebo o id 10, ai como eu poderia validar esse formulário tendo certeza que ele veio pelo método post do meu servidor aplicando esse ou outro filtro ou método mais eficiente?
Exemplo sem sucesso
<?php
public function deletar($id) {
$id = filter_var($id, FILTER_VALIDATE_INT);
$metodo = filter_var($_SERVER['REQUEST_METHOD'], FILTER_DEFAULT);
if(isset($id) && isset($metodo)):
echo 'pode salvar os dados';
endif;
echo '<hr>';
var_dump($id);
echo '<hr>';
var_dump($metodo);
}
?>
Eu consigo acessar o meu site com iptvaiomi.com, mas quando eu coloco o www ele não entra e aparece a mesagem: Erro 503 service Temporarily Unavailable. Como resolver?