Yii Para Aplicação De Média Dimensão

Boa tarde.

Desenvolvi uma aplicação de média dimensão em php sem usar nenhuma framework, mas neste momento preciso de reestruturar a mesma e estou a tentar usar a framework Yii, mas estou com algumas dúvidas sobre se usar uma framework é a melhor opção.

Na minha aplicação todos os utilizadores tem layouts diferentes, isto porque é uma aplicação para dar suporte à avaliação dos colaboradores numa empresa. Já pensei em utilizar módulos para cada um dos utilizadores, uma vez que são distintos.

Outra dúvida é como faço para encaminhar cada utilizador para o respectivo módulo depois do login? Utilizo login para alguns utilizadores atravês da base de dados, mas a maior parte efectua login no servidor da empresa atravês do active directory.

Se me poderem dar uma linha de orientação!!!!!!!!!

Com a Yii dá para usar diferentes layouts. A questão de ser por utilizador ou por qualquer outro critério é como o programador quiser. Após o login o programador faz como quer. No meu caso costumo usar a página inicial da Yii e mostrar os menus aos quais o user tem acesso. Mas pode ser feito o que for preciso. A questão do AD é para fazer single sign-on numa Intranet? Caso contrário não vejo relação…

Bom dia,

Sim a questão AD é para fazer single sign-on numa intranet. Tenho alguns utilizadores que o login está guardado na base de dados, mas são poucos.

Posso usar módulos? Obrigada.

A questão dos módulos é meramente organizativa. Por exemplo pode haver um modulo para tratar a parte de segurança, ou um modulo para tratar questões de reports…

A organização por módulos tem a vantagem de se poderem reutilizar os módulos noutra aplicação. De resto, para a questão do AD tanto faz a aplicação ser por módulos ou não. Eu, embora reconheça que as coisas ficam mais organizadas, nem nunca costumo usar módulos…

Comecei a desenvolver a minha aplicação sem módulos. Tinho o login que é criado ao criar a aplicação e criei um novo controller, model e view para a página do Admin e um novo layout. O meu problema está que ao fazer login como Admin ele vai para a página do Admin e carrega também a página do login, não atribuindo o layout definido para a página Admin. Os meus ficheiros são os seguintes:

AdminModel.php

<?php

/*

  • To change this license header, choose License Headers in Project Properties.

  • To change this template file, choose Tools | Templates

  • and open the template in the editor.

*/

class AdminModel extends CActiveRecord

{

/**


 * Returns the static model of the specified AR class.


 * Please note that you should have this exact method in all your CActiveRecord descendants&#33;


 * @param string &#036;className active record class name.


 * @return Colaborador the static model class


 */


public static function model(&#036;className=__CLASS__)


{


	return parent::model(&#036;className);


}

}

AdminController.php

<?php

class AdminController extends Controller

{

public &#036;layout='//layouts/mainAdmin.php';





public function action()


{


    &#036;model=new AdminModel;


    &#036;this-&gt;render('indexAdmin',array('model'=&gt;&#036;model));


}

}

indexAdmin.php

<?php

$this->pageTitle=Yii::app()->name;

echo ‘Hello admin’; só para testar

mainAdmin.php onde está o layout definido

e no Controller.php definido o novo layout da seguinte forma:

public $layout=’//layouts/mainAdmin’;

o que é que está errado?

Boas.

Estou completamente perdida com esta framework. Como é que faço para criar uma view especifica para o admin?

Todos os meus tipos de utilizadores vão ter ambientes diferentes, mas não sei como implementar. Criei uma view para o admin, com o controller e model mas não consigo redireccionar após login na BD. Diz que o SiteController não encontra a view.

Por favor ajudem-me estou a ficar sem tempo para desenvolver a aplicação!!

Não entendo bem o que está a tentar fazer. Mas se quer utilizer uma view específica para um dado utilizador deve simplesmente fazer um if e perguntar qual o user logado e depois fazer o render da view respetiva.

Não sei se isto ajudou muito. Se quiser pode adicionar o meu Skype (jorge_sequeira5475) e procurarei entender melhor.

O que pretendo é criar 4 módulos:

Administrador;

Training (user)

Colaborador(user)

Responsavel(user)

O administrador gere o sistema, o colaborador só vai poder preencher um formulário com a sua auto-avaliação e visualizar mais tarde o formulário sem poder fazer alterações, o responsável tem as mesmas funções do colaborador com o acréscimo que ele tem de avaliar os seus colaboradores e pode visualizar as avaliações do mesmo.

O training é um acesso exclusivo à equipa de formação da empresa onde podem retirar um relatório especifico e alterar informação sobre a formação existente na BD.

O meu problema é como eu monto esta aplicação com a framework, se for o admin a fazer login vai para um sitio (este login é feito na base assim como o do training) se for um colaborador utiliza como login as credênciais existentes num servidor da empresa(active directory) e vai para outra área.

Será que assim percebe melhor o que eu pretendo?