Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

juliocesarpt

[Resolvido] Me ajudem, não sei mais o que fazer!

Recommended Posts

Fatal error: Class 'Config' not found in C:\xampp\htdocs\loja\model\Conexao.class.php on line 3

 

Sou novo na área, estou seguindo um tutorial no youtube, só que parei nessa parte e não consigo resolver de jeito nenhum, vou colocar algumas telas, pode ser que ajude na descoberta  do erro!

Config.class.php

<?php

Class config{

	// INFORMAÇÕES BÁSICAS DO SITE
	const SITE_URL = "http://localhost";
	const SITE_PASTA = "loja";
	const SITE_NOME = "Loja do Julio - PHP 7 e Mysqli";
	const SITE_EMAIL_ADM = "juliopt78@gmail.com";


	//INFORMAÇÕES DO BANCO DE DADOS
	const BD_HOST = "localhost",
		   BD_USER = "root",
		   BD_SENHA = "",
		   BD_BANCO = "lojajulio",
		   BD_PREFIX = "";
		  
   
   //INFORMAÇÕES PARA PHP MAILLER
   const EMAIL_HOST = "smtp.gmail.com";
   const EMAIL_USER = "juliopt78@gmail.com";
   const EMAIL_NOME = "Contato Loja Julio";
   const EMAIL_SENHA = "";
   const EMAIL_PORTA = 587;
   const EMAIL_SMTPAUTH = true;
   const EMAIL_SMTPSECURE = "tls";
   const EMAIL_COPIA = "juliopt78@gmail.com";


   //CONSTANTES PARA O PAGSEGURO
   const PS_EMAIL = ""; //email pagseguro
   const PS_TOKEN = ""; //token produção
   const PS_TOKEN_SBT = ""; //token do sandbox
   const PS_AMBIENTE = ""; //production sandbox


}

 ?>
index.php

<?php

require './lib/autoload.php';


$smarty = new Template();
$categorias = new Categorias();
$categorias->GetCategorias();


//valores para o template
$smarty->assign('NOME', 'JULIO CESAR DOS SANTOS');
$smarty->assign('GET_TEMA', Rotas::get_SiteTEMA());
$smarty->assign('GET_HOME', Rotas::get_SiteHOME());
$smarty->assign('PAG_CARRINHO', Rotas::pag_Carrinho());
$smarty->assign('PAG_CONTATO', Rotas::pag_Contato());
$smarty->assign('PAG_MINHACONTA', Rotas::pag_MinhaConta());
$smarty->assign('PAG_SOBRE', Rotas::pag_Sobre());
$smarty->assign('PAG_PRODUTOS', Rotas::pag_Produtos());
//Ainda não sei como fazer!!!
//$smarty->assign('PAG_CADASTRO', Rotas::pag_Cadastro());
$smarty->assign('TITULO_SITE', Config::SITE_NOME);
$smarty->assign('CATEGORIAS', $categorias->GetItens());




$smarty->display('index.tpl');
 ?>
Citar

Categorias.class.php

<?php 

Class Categorias extends Conexao{

	private $cate_id, $cate_nome, $cate_slug;


	function __construct(){
		parent::__construct();
	}

	function GetCategorias(){
		//query para busca os produtos de uma categoria específica.
		$query = "SELECT * FROM categorias";

		$this->ExecuteSQL($query);

		$this->GetLista();

	}

	private function GetLista(){
		$i = 1;
		while($lista = $this->ListarDados()):
		$this->itens[$i] = array(
			'cate_id' => $lista['cate_id'],
			'cate_nome' => $lista['cate_nome'],
			'cate_slug' => $lista['cate_slug'],
			'cate_link' => Rotas::pag_Produtos(). '/' .$lista['cate_id'] . '/' . $lista['cate_slug']  ,		
			);

		$i++;
		endwhile;
	}	


}
 
 ?>

 

Rotas.class.php

<?php

Class Rotas extends config{

	public static $pag;
	private static $pasta_controller = 'controller';
	private static $pasta_view = 'view';


	
	static function get_SiteHOME(){
		return Config::SITE_URL . '/' .Config::SITE_PASTA;
	}

	static function get_SiteRAIZ(){
		return $_SERVER['DOCUMENT_ROOT'] . '/' .config::
			SITE_PASTA;
	}

	static function get_SiteTEMA(){
		return self::get_SiteHOME(). '/' .self::$pasta_view;
	}

	static function pag_Carrinho(){
		return self::get_SiteHOME(). '/carrinho';
	}

	static function pag_Produtos(){
	return self::get_SiteHOME(). '/produtos';
	}

	static function pag_ProdutosInfo(){
	return self::get_SiteHOME(). '/produtos_info';
	}

	static function pag_Contato(){
		return self::get_SiteHOME(). '/contato';
	}

	static function pag_MinhaConta(){
		return self::get_SiteHOME(). '/minhaconta';
	}

	static function get_ImagePasta(){
		return 'media/images/';
	}

	static function get_ImageURL(){
		return self::get_SiteHOME() .'/' .self::get_ImagePasta();
	}

	static function ImageLink($img, $largura, $altura){
		$imagem = self::get_ImageURL() . "thumb.php?src={$img}&w={$largura}&h={$altura}&zc=1";

		return $imagem;
	}

	static function pag_Sobre(){
		return self::get_SiteHOME(). '/sobre';
	}

	//Ainda não sei como fazer!!!

	//static function pag_Cadastro(){
	//	return self::get_SiteHOME(). '/cadastro';
	//}

	static function get_Pagina(){
		if(isset($_GET['pag'])){

			$pagina = $_GET['pag'];

			self::$pag = explode('/', $pagina);
			
			//echo '<pre>';
			//var_dump(self::$pag);
			//echo '</pre>';

			$pagina = 'controller/' .self::$pag[0] . '.php';
			//$pagina = 'controller/' .$_GET['pag'] . '.php';
		
		
			if(file_exists($pagina)){
				include $pagina;
			}else{
			include 'erro.php';
		}

		}
	}
}

?>

 

Conexao.class.php

<?php

Class Conexao extends Config{
	private $host, $user, $senha, $banco;

	protected $obj, $itens=array(), $prefix;

	function __construct(){
		$this->host = self::BD_HOST;
		$this->user = self::BD_USER;
		$this->senha = self::BD_SENHA;
		$this->banco = self::BD_BANCO;
		$this->prefix = self::BD_PREFIX;

		try {
			if($this->Conectar() == null){
				$this->Conectar();
			}
            

		} catch (Exception $e) {
			exit($e->getMessage().'<h2> Erro ao conectar com o banco de dados! </h2>');
		}

	}

	private function Conectar(){
		$options = array(
			PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
			PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING
			);
		$link = new PDO("mysql:host={$this->host};dbname={$this->banco}" , 
		$this->user, $this->senha, $options);
		return $link; 
	}


	function ExecuteSQL($query, array $params = NULL){
		$this->obj = $this->Conectar()->prepare($query);
		return $this->obj->execute();
	}

	function ListarDados(){
		return $this->obj->fetch(PDO::FETCH_ASSOC);
	}


	//function TotalDados(){
		//return $this->obj->rowCount();
	//}

	function GetItens(){
		return $this->itens;
	}


}


?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

require_once("pasta/onde/esta/config.php");

Class Conexao extends Config{
[...]
}

O arquivo não ta encontrando a Config pra poder fazer o extends, tem que usar o require/include ou algum namespace.

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, BrunoBit disse:

<?php

require_once("pasta/onde/esta/config.php");

Class Conexao extends Config{
[...]
}

O arquivo não ta encontrando a Config pra poder fazer o extends, tem que usar o require/include ou algum namespace.

Boa tarde bruno, como faço isso, me ajuda... O endereço eu me baseio por onde? Será que essa foto ajuda?

a.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, BrunoBit disse:

require_once("Config.class.php");

Class Conexao extends Config{
[...]
}

Testa aí pra gente ver.

Apareceu isso agora!

 

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)

Erro ao conectar com o banco de dados!

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, BrunoBit disse:

Agora você precisa usar os dados corretos pra poder conectar no banco de dados.

Consegui Bruno, muito obrigado, você é o cara, sei que parece simples para você, mas para mim foi algo difícil!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, está dando erros pois, não fez corretamente o autoload das class, e não setou as configurações do banco de dados.

Todas as configurações deste projeto ai, que é da loja php são mostrados no curso completo com mais de 200 videos, que foi criado por mim mesmo = 

https://www.youtube.com/playlist?list=PLq-sApY8QuycUZsoAZD-LKyV5BWueQDgu

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

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