domingo, 26 de fevereiro de 2012

Conectar a duas Bases de Dados Symfony (BUG)

Bom, pessoal passado certo tempo sem publicar nada ( muito trabalho ), peço desculpa a todos que visitam meu blog, mas esta postagem tenho certeza que é de muita valia a todos que utilizam o symfony 1.4, no 2.0, não verifiquei se este bug também existe.
Esta postagem é para o bom funcionamento do post: Conectar a duas Bases de Dados Symfony;
Quado se utiliza de métodos de manipulação de dados normais das classes geradas pelo symfony tudo funciona corretamente exemplo:   $obj->save(); irá salvar em sua base especificada no schema.yml.
O Bug acontece quando acessamos o Doctrine diretamente, desse modo ele não acessa as nossas configurações symfony (ex:databases..yml) e acaba utilizando a conexão atual.
Exemplo de médoto Doctrine:

$lg = Doctrine::getTable('Logradouro')
->createQuery()
                        ->addWhere('cep = ?', '85501030')
                        ->fetchOne();


Para correção disto vá até o arquivo: lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php

e altere o seguinte método para esta forma:


public static function modelsAutoload($className)
    {
        if (class_exists($className, false) || interface_exists($className, false)) {
            return false;
        }
        //LINHA ADICIONADA AO MÉDOTO PADRÃO
        sfAutoload::getInstance()->autoload($className);

.
.
.


Bom pessoal é isso ae!!!

Abraço a todos.
Lembrando que para qualquer dúvida favor enviar no email: fabriciokerber@gmail.com

quinta-feira, 15 de setembro de 2011

Mini Curso Symfony Tecsul 2011

Olá pessoal, para quem fez o mini curso, e também para quem não fez, segue o vídeo do que foi feito.

Segue também o rar do projeto até onde este vídeo vai, rodando 100%.
http://www.webat.com.br/minicurso2011/clientes.rar
Abraço a todos.

segunda-feira, 25 de julho de 2011

Conectar a duas Bases de Dados Symfony

Ola pessoal, peço desculpa aos visitantes por ficar um tempo sem postar, mas o trabalho ta puxado.
Mas vamos ao que interessa.

Verifiquei que existem muitas pessoas consultando referencias sobre como conectar a dois ou mais bancos simultâneos com o Symfony, então vai lá um exemplo:

No arquivo config/databases.yml você deve colocar as configurações de seus bancos como no exemplo abaixo.


all:
  auxiliar:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=banco1'
      username: root
      password: null
  principal:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=banco2'
      username: root
      password: null

OBS: A conexão que ficar por ultimo no caso "principal" é levada como base para plugins que necessitam conectar no banco como por exemplo o sfDoctrineGuardPlugin.

Pronto já está configurado a conexão, agora vamos configurar as classes de modelo.
Para uma configuração automática abra o arquivo config/doctrine/schema.yml

E para cada classe existe um atributo chamado connection:  que seguindo o exemplo de configuração acima segue o exmplo abaixo:


Cep:
  connection: auxiliar
  tableName: cep
  columns:
    id:
      type: string(10)
      fixed: false
      unsigned: false
      primary: true
      notnull: false
      autoincrement: false
    rua:
      type: blob()
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    bairro:
      type: blob()
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false




Pessoa:
  connection: principal
  tableName: pessoal
  columns:
    id: 
      type: integer(10)
      fixed: false
      unsigned: false
      primary: true
      notnull: false
      autoincrement: false
    nome: 
      type: blob()
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    idade: 
      type: integer(3)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false  



e assim por diante, cada classe acessando seu banco.

Para deixar rodando em seu sistema é necessário limpar o cache  php symfony cc e depois doctrine:build-model.

Abraço a todos.

terça-feira, 10 de maio de 2011

Curso On-line PHP OO, MYSQL e Symfony

Ola pessoal, contagem regressiva para o curso.
Abaixo seguem mais alguns detalhes:

  • O curso terá uma duração de 40h (considerado um curso longo)
  • A expectativa para o término do curso será de 4 meses ( dependendo da minha disponibilidade podemos intensificar para diminuir este período)
  • Ao final do curso você estará apto para desenvolver uma aplicação WEB com todos os conceitos de banco de dados, orientação a objeto e o framework Symfony
  • Pelo numero de alunos inscritos até o momento a parcela está em 4 x R$ 50,00
  • Após o término deste estarei disponível para dar-lhes suporte em seus desenvolvimentos.
Abraço a todos.

Obs: todos os interessados deveram encaminhar um e-mail para fabriciokerber@gmail.com com o título: CURSO PHP 
com os dados [nome completo, cpf, rg, email, telefone,  endereço ] e também quais conhecimentos já possui de programação

segunda-feira, 25 de abril de 2011

Curso On-line PHP OO, MYSQL e Symfony

Bom dia pessoal! 
Devido a várias solicitações, estou modelando um curso que irei ministrar on-line através de vídeo-aulas ao vivo.
Sendo assim peço a todos que tiverem interesse em enviar um e-mail para fabriciokerber@gmail.com
A idéia do curso será a seguinte:
  •  Introdução ao PHP com Orientação a Objeto;
  •  Noções Mysql;
  •  E por último Utilização do Symfony.
Neste curso por levar um tempo para ministrá-lo terá um custo, mas com certeza após concluí-lo, você será capaz de criar aplicações web com agilidade e qualidade. 
O tempo previsto para a conclusão será de 4 meses, mas este tempo pode ser reduzido dependendo do número de hora/aula semanal.
A previsão para início do curso será 01/06/2011 ou antes caso feche o número de alunos para cobrir meus custos.

Abraço a todos.


sexta-feira, 8 de abril de 2011

Curso Prático Symfony 1.4 - Criando um cadastro de clientes - Aula 4 - parte 4

Obs: esta aula foi dividida em quatro vídeos por motivo de tempo limite do youtube, o início está nesta mesma aula parte 1, esta é a parte 4.
Instalando os plugins Jquery e AdminDash
A minha meta é fazer o mais avançado possível, mas dependendo da colaboração de todos, podemos ir além.
Software Livre e Cursos Gratuitos são muito bons, mas tudo tem um custo.

Abraço a todos e até a próxima.

Curso Prático Symfony 1.4 - Criando um cadastro de clientes - Aula 4 - parte 3

Obs: esta aula foi dividida em quatro vídeos por motivo de tempo limite do youtube, o início está nesta mesma aula parte 1, esta é a parte 3.
Instalando os plugins Jquery e AdminDash
A minha meta é fazer o mais avançado possível, mas dependendo da colaboração de todos, podemos ir além.
Software Livre e Cursos Gratuitos são muito bons, mas tudo tem um custo.

Abraço a todos e até a próxima.