Ir para conteúdo
clodoaldofc

Conversão de sistema php 5 para php 7

Recommended Posts

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • 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); } ?>  
    • Por mamotinho
      Olá pessoal, já rodei a internet inteira procurando uma função para eu conectar ao banco de dados SQL Server que está minha máquina virtual Dedicado. estou programando um site na hospedagem com a versão 7.3.16 , eu queria uma solução para eu conectar ao meu banco de dados mssql utilizando pdo.
       
      Eu utilizo a seguinte conexão.
       
      class Database { protected static $db; protected $db_host = DB_HOST; protected $db_usuario = DB_USER; protected $db_senha = DB_PASS; private function __construct() { try { self::$db = new PDO("odbc:Driver={SQL Server};Server=".$this->db_host."; port=122; Uid=$this->db_usuario;Pwd=$this->db_senha;"); self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Connection Error: " . $e->getMessage()); } } public static function conexao() { if (!self::$db) { new Database(); } return self::$db; } } alguém pode me da solução de como faço isso funcionar no PHP 7 pra cima.
×

Informação importante

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