Yii Framework Forum: Criar Funções Para Reutilizar Em Todo Site - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Criar Funções Para Reutilizar Em Todo Site Rate Topic: -----

#1 User is offline   Michel Camargo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 31-March 13

Posted 02 April 2013 - 03:55 PM

Boa noite,

Estou com uma dúvida, eu estou acostumado com php puro sem uso de framework,
hoje tenho uma classe que desenvolvi com vários funções que utilizo em meus sites
ex: resumir textos, gerar thumb, remover acentos, entre outros.

No PHP eu faço um include("nome-da-classe.php"); na minha página principal
Chamo a classe e já posso utilizar as funções em todas as páginas.

Como faço isso no Yii?

Tentei criar como extensão mas to apanhando pra caramba,
alguém já fez algo parecido e pode me ajudar?

Agradeço desde já pela Ajuda!
0

#2 User is offline   Wanderson 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 78
  • Joined: 20-February 09
  • Location:Rio de Janeiro, Brazil

Posted 02 April 2013 - 05:26 PM

Olá Michel,

Você pode fazer de várias formas. Abaixo veja um exemplo simples que acho que pode lhe ajudar.

Crie uma pasta helpers dentro da pasta protected e adicione o caminho no config de sua aplicação

Exemplo:


...
'import'=>array(
    'application.components.*',
    'application.models.*',
    'application.helpers.*', // adicione esta linha
),
...


Agora dentro da pasta helpers coloque sua classe. Para usar a mesma de forma rápida transforme os métodos da classe em métodos estáticos e com isso basta chamar em qualquer lugar da sua aplicação algo como:

Util::seuMetodo($parametros);

0

#3 User is offline   Michel Camargo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 31-March 13

Posted 02 April 2013 - 10:08 PM

View PostWanderson, on 02 April 2013 - 05:26 PM, said:

Olá Michel,

Você pode fazer de várias formas. Abaixo veja um exemplo simples que acho que pode lhe ajudar.

Crie uma pasta helpers dentro da pasta protected e adicione o caminho no config de sua aplicação

Exemplo:


...
'import'=>array(
    'application.components.*',
    'application.models.*',
    'application.helpers.*', // adicione esta linha
),
...


Agora dentro da pasta helpers coloque sua classe. Para usar a mesma de forma rápida transforme os métodos da classe em métodos estáticos e com isso basta chamar em qualquer lugar da sua aplicação algo como:

Util::seuMetodo($parametros);



Muito Obrigado Wanderson pela ajuda, vou fazer um teste dessa maneira,
cara eu fiz um esquema aqui criei dentro da pasta protected/extensions um arquivo php com minha classe e as funções no arquivo fiz assim:

class Opcoes extends CApplicationComponent{
  ...minha funções
}

Depois lá no arquivo protected/config/main.php em components adicionei assim:
'opcaoClass'=>array(
                        'class' => 'application.extensions.Opcoes'
			),


Agora sempre que preciso de alguma função da classe chamo assim:
Yii::app()->opcaoClass->NomeDaFuncao();


Ta dando certo, mas será que isso é certo?
Qual é a vantagem e desvantagem de fazer assim como eu fiz?

Abraço!
0

#4 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 821
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 03 April 2013 - 08:12 AM

Michel,

Dessa forma você pode está chamando mais de 1 class, além da sua, dependendo da quantidade de vezes que for usar sua função, pode ter um pequeno delay no carregamento da página.

Usa Helpers, cria uma class dentro da pasta /components/Helpers.php e usa sempre ele para funções padrões suas.

Uma ajuda aqui:
http://www.yiiframew...lper-functions/

Ou você pode criar atalhos para suas funções:
http://www.yiiframework.com/wiki/31/
Newerton Vargas de Araújo
0

#5 User is offline   Michel Camargo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 31-March 13

Posted 03 April 2013 - 11:04 PM

View PostNewerton, on 03 April 2013 - 08:12 AM, said:

Michel,

Dessa forma você pode está chamando mais de 1 class, além da sua, dependendo da quantidade de vezes que for usar sua função, pode ter um pequeno delay no carregamento da página.

Usa Helpers, cria uma class dentro da pasta /components/Helpers.php e usa sempre ele para funções padrões suas.

Uma ajuda aqui:
http://www.yiiframew...lper-functions/

Ou você pode criar atalhos para suas funções:
http://www.yiiframework.com/wiki/31/


Opa! Muito Obrigado Newerton! Vou fazer com Helpers então a partir de agora.
Abraço!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users