Sou iniciante e preciso de uma orientação

Ahe Galera, sou novo na comunidades e estou solicitando um pouco de ajudar em relaçao ao yii.

Bom a minha duvida é o seguinte, trabalhei muito com o symfony mais eu não gostei muito pois os meu projetos ficavam muito lento, então eu pesquisei na net e vi falar muito bem sobre este Yii, so que tb eu nao achei nenhum exemplo tipo um tutorial que me ajuda-se em relaçao de montar um layout.

Pois a minha funçao é na minha empresa é cuidar da parte visual do projeto e algumas coisa relacionado com o banco, entao tenho muitas duvida nas questoes:

  • Como eu inicio o layout;

  • Como incluio uma parte externa em uma pagina, tipo um require_once;

  • Em que momento devo usar widgets;

  • Formularios como eu devo tratar como eu construo;

  • Trabalhei muito com o doctrine para comunicaçao com o banco mas nao achei a documentaçao alguem tem um link que possa ajudar;

Resumindo eu tenho que fazer um projeto que na home tem um menu drop down com um canal de destaque, lista das ultimas noticias e alguns produtos.

Ha eu trabalhava no symfony com modulos tipo um modulo home, produto, serviços, contato… como funciona o Yii e como eu link com eles.

Espero um orientaçao pois pretendo usar este framework e preciso muito de ajuda.

Agradeço desde já!

Cara, quase tudo o que vc precisa ta no Guia Definitivo do Yii.

Como vc meche mais com design, basicamente seu trabalho vai ser em cima dos teamplates.

Pra começar a brincar, vc pode começar editando os arquivos da pasta /protected/views/layouts

cada arquivo lá dentro, é um arquivo de teamplate diferente. Vc vai reparar que ele é uma parte da página.

Os formulários são renderizados e "anexados" ao teamplate, e vc define qual teamplate usar no controller.

Usar widgets ai é questão de necessidade … depende de cada projeto.

o melhor é vc criar uma aplicação pelo Yiic e dar uma olhada na estrutura dos arquivos pra começar a brincar …

http://www.yiiframework.com/doc/guide/pt/quickstart.first-app

Blz Brow,

Me diz com eu incluo um parcial, tipo um require_once, existi uma outra forma. tipo eu trabalhava com o symfony com componetes no yii tem um jeito parecido.

Obrigado

Normalmente o Yii trata os requeres e includes definindo um "pseudo-class-path" atravez do arquivo de configuração, ou vc definindo onde buscar a classe pelo método Yii::include. Passa-se um caminho relativo para o método, mais ou menos como o esquema de packages do java.

Isto normalmente é usado pra substituir o require com vantágens de não se preocupar com o caminho absoluto do arquivo onde vc está sem se preocupar.

Imaginando uma estrutura básica de uma aplciação, se vc tem uma classe chamada MyClass dentro da pasta components, e fosse usar em outro lugar, vc usaria da seguinte forma:

Yii:import(‘application.components.MyClass’);

Faz um bocado de tempo que mechi com Symfony, então não to lembrado se existe algo compatível lá nele pra dar um exemplo.

Se vc está falando em extender um teamplate a um subteamplate, vc deveria usar no subteamplate o código abaixo:




<?php $this->beginContent('//layouts/default'); ?>

Novo conteudo do teamplate

<?php echo $content; ?>

<?php $this->endContent(); ?>



Que vc pode estender o conteudo de um outro teamplate. Parecido com o método $this->extend(‘layout’) para extenção de teamplates do Symfony.

Não to lembrado de componentes no Symfony, mas no Yii, normalmente temos helpers pra elementos html. Muitos na classe CHtml e outros em widgets, dos quais abstraem problemas e/ou agregam alguma facilidade de interação com outras classes do FW.

A pasta de componentes eu uso pra classes herdadas do Core do Yii que, por alguma eventualidade, eu necessito substituir algum método apontando a mesma no arquivo de configuração sem alterar no Core.

Brother, valeu mesmo pelas dicas, estou apredendo muito com vc, mais nao sei se vc entendeu a minha pergunta anterior, entao para deixar claro estou postando o links (http://www.symfony-project.org/book/1_1/07-Inside-the-View-Layer) eu usava como referencia no começo do uso do symfony.

Estou querendo saber se o yii tem um jeito igual ou melhor sobre Include_componets e partial em uma pagina, tipo com este metodo eu separava programaçao de html, da uma olhada neste link e ve o que estou querendo dizer.

Eu incluia modulos novos e alguma parte do site atraves de componetes e partial o nome do arquivo ficava _nome.php.

Agradeço desde ja vc esta me ajudando muito e desculpe com as minha pegunta leigas é que estou começando agora pois o symfony eu sei bastante, mas agora vida nova framework novo Yiihaa… Symfony ja mas…

Valeu messs

Eu pensei que a sua dúvida era diferente :)

Basicamente acho que vc está pensando muito como o Symfony trabalha, e nesta parte é um pouco diferente do Yii.

No Yii, as views são partes do controller, seguindo deste passo, vc pode usar qualquer método do controller dentro da view.

Pra dar um exemplo melhor, vou usar o próprio SiteController que é criado numa aplicação básica. Dentro dele pro exemplo, tem o método actionIndex. Chamado quando acessamos a URL <minhaApp>?r=Site/index.

Neste método, temos o código:




class SiteController extends Controller {

  // .. trecho anterior

   public function actionIndex()	{

     $this->render('index');

   }

  // Trecho posterior

}



Este trecho, só renderiza um arquivo chamado index.php localizado em protected/views/site/index.php de forma padrão (Anexando o teamplate localizado na pasta protected/views/layouts/main.php)

Suponho que até ai vc já tenha visto. Escrevi mais pra se alguem estiver acompanhando seguir a linha do raciocínio :)

Dentro de uma view, vc pode usar qualquer varivável/método privado, protegido ou público declarado no Controller. Como os controllers da sua aplicação são herdados de CController, e ele já tem algumas variváveis e métodos, vc pode usa-los na view.

Então, vc pode usar, por exemplo, dentro de sua view o seguinte:


<?php echo $this->renderPartial('<nome da view>'); ?>

Este método vai renderizar uma view com o nome estipulado sem o teamplate no local chamado e tudo vai pro output ser como se fosse só uma view só.

Se for pra renderizar elementos html comuns como inputs, vc pode usar a classe CHtml, ou criar um widget. Vc vai ver muito Chtml se vc gerar um CRUD pela linha de comando nas views geradas.

Suponho que agora eu tenha acertado na dúvida:) mas se não foi ainda desta vez, pode postar ai :)

A maneira que levei a intender o Yii foi simples, analisar, analisar e analisar os demos que vem nele, ler, ler, ler a documentação, uma lida nos posts antigos no forum tambem ajudaram.

Utilizei o Prado por muitos anos, mas o yii faz muita coisa diferente, apesar de também terem coisas incomuns.

Não estou querendo ser ignorante na resposta, mas foi assim que eu consegui começar a intender o bichano.

Abraço.

Valeu Daniel pela ajuda…ajudou muito…

Mas para eu seguir como ajuda para mim e para minha equuipe de programador…coloca ahi alguns site de tutoriais, dicas, blogs, comunidades com referencias sobre o yii…pois procurei na google e nao achei muita coisa.

Valeuuuu.

Existe realmente pouca coisa fora daqui do site oficial. Um integrante daqui criou uma lista de discussão no Yahoo(yii@yahoogrupos.com.br), mas, mesmo gostando mais do formato de lista de discussão, prefiro (E acho que reflito a opinião de alguns aqui) em deixar aqui no forum oficial pra poder centralizar, pelo menos por enquanto as informações em pt-br :)

Então, as maiores fontes de referência é o site oficial mesmo.

Valew brother vc esta me ajudando muito.

Podiamos criar um yiibrasil, como tem do zfbrasil.

Fica ae a dica.

Acho que seria bom pra divulgar e talz… mas acho que não seria exatamente a difierença pra divulgar. Fora que ZF tem uma base de usuários e aplicações muito maior, o que compensa um site pt-br exclusivo.

Apesar que to vendo muita gente apostando no Yii, principalmente nos últimos meses …

Nossa seria muito bom mess, pois seria mais um canal de informação do Yii. Pelo pouco que estou mexendo eu estou gostando.

Daniel vc que usa o Yii creio que bastante tempo, Tem alguma diferenca de perfomace em usar:

CHtml::image() ao inves da tag <img src> direto.

E outra coisa estou começando uma aplicação como sabe de um site, e o meu servidor de hospedagem nao tem nenhum acelerador de codigo instalado, vc poderia me dar algumas dicas como eu posso melhorar a perfomace do site que estou desenvolvendo emm Yii, tipo configuraçoes internas do framework. Tipo utilizar Helpers para montar a tag é melhor.

Resumindo tudo gostaria de começar esta aplicaçao com as configuraçoes correta para obter o maximo de desempenho do meu site pois um site lento ninguem merece…

Valeu mesmo desde já

Seria bom vc abrir um novo tópico. Só pra separar os assuntos…

blz