CakePHP 1.2: carregando model, controller e component dinâmicamente

Olá pessoal,

continuando a série de posts sobre o CakePHP 1.2 e das mudanças que ele trouxe, neste post irei falar como carregar dinâmicamente model’, controller’s e component’s.

No Cake 1.1, era comum usármos:

  1. loadModel("nomeDoModel");
  2. loadComponent("nomeDoComponent");
  3. loadControllers("nomeDoController");

No Cake 1.2 todos os esses loads viraram App::import, que seria usado assim:

  1. App::import("Model", "nomeDoModel");
  2. App::import("Component", "nomeDoComponent");
  3. App::import("Controller", "nomeDoController");

O Cake 1.2 está se tornando OO de verdade.

Abraços pessoal e até a próxima!

12 Comment

  1. Tulio, aqui estou eu novamente incomodando novamente! hihihihi
    Brother seguinte, assunto fora do escopo deste post, pra variar. Quais as mudanças que eu devo fazer quando eu hospedo a aplicação em um servidor gratuito. Exemplo eu tenho um espaço para hospedar, quando eu colocar as pastas lá qual o index que deverá ser chamado eu carregar o site é o da pasta da aplicação ou o que fica junto com a pasta Cake, porque quando eu entro chamando o site o index carregado é index padrão que fica fora da pasta da aplicação e ai da um erro cabuloso. Cara to no maior enrrosco aqui, se vc puder me dar uma foça eu ficaria muito grato mesmo. As pastas estão na seguinte ordem

    pasta.meudominio.com (dentro desta fica as)
    /Cake
    /docs
    /meu_site(app)
    /vendors
    –.htaccess
    –index.php

  2. Tulio, acho que consegui corrigir, mudei o .htacces que fica na pasta root para:

    RewriteEngine on
    RewriteBase /pasta.meudominio.com /meu_site

    Valeu meu Brother. Se vc tiver sugestão ou se eu fiz errado me da uma força ai abração!

  3. É acho que me precipitei, ta errado ainda. Bom to indo nessa. Se tiver alguma idéia de resolver este pepino me manda depois. Valeu d++

  4. Rapaz,

    é uma boa pergunta… Tenta usar o RewriteBase /

    Inté

  5. Caramba todo lugar que eu vou tem como configurar localmente, localmente ta tudo bonitinho funciona que é uma beleza, eu criei um alias no Apache apontando para a pasta da aplicação, mas ai quando vc vai hospedar o alias criado aponta para pasta root que a posta do dominio que recebemos para hospedar, ai a coisa ferra tudo.

  6. Túlio,

    Você devia mostrar um exemplo de uso.

    Valeus!

  7. Tulio, você sabe de algum Host que hospede gratuitamente php/mysql com o mod_rewrite abilitado, a maioria que eu vi não tem habilitado e por isto da erro, aquele post que tem aqui para verificar a instalação do mod_rewrite veio muito a calhar e tambem ou que fala sobre .htacces. Mas não consegui nenhuma hospedagem que funcione. Valeu pela força.

  8. Sadjow Medeiros, Brother assim que eu conseguir alguma coisa concreta funcionando com hospedagem externa, prometo disponibilizar a aplicação e todas as configurações. No mais meu Brother eu ainda estou apenas tentando fazer uma saladinha aqui com os pepinos. Hahahaha

  9. Hahah pode crer…

    Eu esou com alguns problemas no cakephp 1.2 com o Ajax… ele não está funcionando direito com o ie6.

    tentei usar o $ajax->form e o $ajax->submit …. estou com problemas no ie6 … =/

    valeus!

  10. Ai galera achei vários sites com o mod_rewrite ativado, mas eles não aceitam o .htacces no plano free, apenas nos planos pagos. Existe alguma forma de utilizar o cake com o mod_rewrite ativado mas sem .htacces ?? Para quem pretende utilizar o Cake como ferramenta de desenvolvimento seria muito legal esta informação. Abraço ai para todos. Se alguem se interessar em saber a lista dos sites aqui está:

    http://www.110mb.com/
    http://dothost.eu/

    Tem outros mas este acho os melhores com mais suporte e velocidade muito boa.

  11. Alex,

    essas coisas acontecem… (diferenças de local pra remoto 🙂 )

    Infelizmente, aliás, felizmente, não conheço nenhum server gratuito. Faz uns 5-6 anos que não coloco um site em server gratuito, então não saberia lhe dizer.

    Sadjow,

    um exemplo de uso seria carregar um menu dinâmico, igual ao do blog no app_controller. Onde o aconselhável seria criar um component e carregá-lo dinâmicamente.

    Abraços a todos.

  12. Tulio,

    Eu estou aprendendo Cake agora e pintou uma dúvida.

    Para brincar, estou fazendo um sistema de gerenciamento financeiro que tem que fará controle de lançamentos (débito e crédito).

    Resolvi colocar Agendamento de Lançamentos. Que na verdade é um Lançamento também. Então, pelos conceitos de OO, vou ter que trabalhar com herança.

    Então: Lancamento extends AppModel e Agendamento extends de Lancamento, certo? usei o App:import(“Model”,”Lancamento”); para classe de Agendamento começar a enxergar o lançamento.

    Até onde eu sei, quando uma classe filha extend de uma classe pai, ela herda todos os atributos e métodos da classe pai, certo?

    Joguei um scaffold na classe Agendamento, mas só aparece a estrutura da classe pai :-S

    Você pode me dar uma luz?

Deixe uma resposta