-
Conteúdo Similar
-
Por clodoaldofc
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.
public function select($table, $where = '', $fields = '*', $order = '', $parametro = null, $limit = null) { $this->db->query('SELECT ' . $fields . ' FROM ' . $table . (($where) ? ' WHERE ' . $where : '') . (($parametro) ? ' ' . $parametro : '') . (($order) ? ' ORDER BY ' . $order : '') . (($limit) ? ' LIMIT ' . $limit : ''))->fetchAll(); if (isset($this->db->data[0])) { $this->map($this->db->data[0]); } return $this->db->data; -
Por Fabio Carpi
Hoje eu uso o try/catch na minha classe, mas ele não pega os warning...
Eu já tentei o set_error_handler, mas ai ele pega os erros de todo o site...
-
Por Sapinn
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:
object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "index" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } }
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:
-
Por Sapinn
Estou com dificuldade para chamar um arquivo CSS usando a configuração de um arquivo php. O bootstrap também não surte efeito na paginas
Vejam só
Config.php
<?php define('APP_NOME','Projeto GIBI'); define('URL','http://localhost/bora_php');
index.php
<?php include './../app/configuracao.php'; include './../app/Libraries/Rota.php'; include './../app/Libraries/Controller.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="<?=URL?>/public/css/estilos.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" > <title><?= APP_NOME?></title> </head> <body> <?php $rotas = new Rota(); ?> <script src="https://code.jquery.com/jquery-3.5.1.min.js" ></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" ></script> <script src="<?=URL?>/public/css/script.js" ></script> </body> </html> estilo.css
html{ background-color: red; }
Estou tentando seguir a padronização MVC(que por sinal eu tenho certa dificuldade), então não consigo achar onde estou errando
-
Por unset
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); } ?>
-