Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manoaj

Adicionando modulos

Recommended Posts

Pessoal to com problema aqui . bem não um problema ainda mais vai ser logo logo kkkk, to construindo um sistema web de greneciamento de algumas ferramentas, e esse sistema tera que aceitar modulos mais tarde, tipo o ipb em que eles produzem os modulos e os usuarios só baixam e instalam no sistema.

 

 

não faço a minima ideia de como é feito esse sistema nem tenho uma logica pronta pra montar ele , alguém poderia me dar uma luz ? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

mano os artigos que vc postou falam de adaptação de codigo com mudanças e depreciação de classes ou funções antigas que deixam d eser usadas ou são subistituidas por outras melhores, acho que vc não intendeu direito o que eu quis dizer.

 

Deixa eu explicar melhor .

 

Bom vamos supor que eu tenha um sistema cms livre que a s pessoas não paguem pra usar ele. tá legal mas eu preciso ganhar uma grana com ele então o que eu vou fazer é construir temas e aplicações pagas para esse sistema.

 

Agora vamos ao problema, suponhamos que meu sistema por padrão viria sem um modulo slide responsavel por criar um slide no site do cliente.

 

então eu criaria um modulo slide que efetuaria essa adição das funções que criariam o slide.

Ou seja eu venderia o modulo para o cliente somente pegar e instalar de forma facil em seu sistema.

 

 

Bom acho que agora deu pra ter uma base do que estou pensando em fazer mas não de que maneira fazer ou ao menos começar a fazer. e tipo to precisando d+ desse sisteminha sem ele a ideia toda não vai pra frente kkk

 

 

up

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostei do exemplo do Mediator,

 

Pelo que percebi a única diferença entre ele e o Observer é o engatilhamento. No Observer não temos um nome de evento e nem a possibilidade de disparo manual, já no Mediator temos.

 

Cada seção do site sendo/tendo um Mediator diferente fica fácil de criar uma aplicação "widgetizável".

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw pela ajuda gente , vo tentar achar outro jeito aqui pq inglês é tenso kkkkkkkkkkk vo procurar algumas palavras no texto que ajudem a chegar na solução com pesquisas :/

 

Só mais uma coisa , no caso na hora de importar as aplicações com as novas configurações vou precisar que o arquivo a ser importado crie tabelas e insira informações no banco caso seja necessario de que forma eu posso importar essas configurações sem sobrecarregar o servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar Google Tradutor, não traduzindo a página toda (vai traduzir o código..), óbvio.

 

Bem, esse artigo mostra como pode ser feito um sistema onde possa ter plugins. Não mostra como você pode criar um servidor que vá fazer a importação de tudo. Se deseja que o cliente faça isso visualmente certamente vai precisar de uma API.

 

---

 

Bruno, A ideia de usar mediator para controlar eventos, é ter um único mediator (pode-se criar mais um e singleton não deve ser implementado pelo amor do café). Hoje em dia o mediator é o mais usado no PHP. SF2, ZF, ZF2, Joomla, e vários outros usam.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usei mas não deu pra intender P***** nenhuma kkkkk inda mas com toda linguagem formal que o translate usa pode me da um exemplo simples de como seria um sistema do tipo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, vamos lá, sem dar passos maiores do que a perna.

 

Descreva, com detalhes como seria o seu sistema e o que esses plugins fariam.

 

E uma coisa importante: conhece orientação a objetos bem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom nada de muito complexo como os plugins seriam vendidos separadamente seriam só algumas funções adicionais ao sistema por exemplo, se fosse algo tipo wordpress ou seja um cms comum pra criação de sites.

ums dos ppossiveis pugins seria para criar um slide na pagina inicial.

 

acho que assim da pra entender melhor o que os plugins irão fazer , serão coisas simples .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou entendendo, podemos usar eventos como eu pensei, mas teremos que ter um planejamento favorável. E não respondeu a pergunta inicial, conhece orientação a objetos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

um pouco to começando agora um dos objetivos em criar esse sistema é me a profundar na orientação já que nãoa cho curso do tipo por aqui o unico de php que tem é ensino basico e mesmo assim são video aulas.

mais pode ir falando que o que eu num entender eu te falo no final :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, agora boiei na resposta.

 

O que eu perguntei foi: os plugins eles serão apenas para exibir ou vão fazer coisas internas? é um pouco complexo propor uma solução, pois eles se enquadram em regra de negócio.

 

Plugins nada mais são do que código, que vão manipular comportamento da aplicação. O ideal é que haja um planejamento, é conseguiríamos ter um bom usando orientação a objetos, bem vou tentar mostrar como isso é feito no Wordpress:

 

Primeiro de tudo, o código do WordPress é péssimo e é um exemplo do que não fazer, mas o conceito será mesmo.

 

E segundo, no momento não estou pensando em como os plugins serão instalados, isso pode ser algo a parte, em algum painel, etc. estou pensando apenas em implementação (código).

 

No WordPress funciona com eventos, nele chamados de filtros. Você pode registrar vários filtros para ações. E o sistema pode executar esses filtros, mudando o comportamento, bem vamos lá:

 

<?php

// código do plugin

adcionar_filtro('post_salvo', function () {
    echo 'Post salvo com sucesso!';
});

// ...

<?php

// código do sistema

// lógica de salvar o post
if (blablabla) {
    // salva o post
    executar_filtro('post_salvo');
}

 

E poderia existir vários filtros para vários eventos, na vida real não estaríamos usando echo nem funções globais, mas sim objetos e manipulando o estado deles, eu sinceramente acho que sem um conhecimento profundo em orientação a objetos não vai sair nada bom, o importante é aprender o conceito e não uma implementação específica. O WordPress usa esse tipo de sistema sem OO, e acaba por ficar uma caca, cheio de variáveis globais :sick: .

 

---

 

Quanto a forma de instalar, seria algo simples. Basicamente você pode criar um painel, onde o usuário pode passar um arquivo .zip e você descompacta e joga isso na pasta de plugins, além de adcionar o plugin em uma lista de plugins (configuração).

 

Evidentemente que pode-se criar algo mais elegante, com uma API, um sistema mais robusto, onde o usuário não baixe nada, apenas escolha um plugin de uma lista que pode existir em algum banco de dados. Mas isso é algo especificamente da lógica e do que se deseja para manter os plugins, citando o WordPress que é pop e todos conhecem, por exemplo, ele possui um repositório de plugins, o próprio WordPress, internamente consegue baixar um plugin desse repositório e instalar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok masi um poquinho e pego toda llogica do negocio a parte de configurações e tudo masi já to com umas ideias a gora a parte na qual meu sistema pega o codigo do plugin não to entendendo direito ainda me explica um pouco esta parte o que ela faz em si.

 

adcionar_filtro('post_salvo', function () {
    echo 'Post salvo com sucesso!';
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente o sistema modular trabalha com extensao de classes e variaveis globais.

 

O php tem uma função muito util que é a autoload

 

http://www.php.net/manual/pt_BR/function.autoload.php

 

Com ela vc determina como vc faz includes sem precisar toda hora ficar colocando include()... Isso falando la do init de seu sistema.

 

Apartir dai, construida a sua rotina de carregamento de arquivos, vc cria uma especia de uma teria de aranha, de modo que tudo deriva de um centro.

 

Vc tendo o centro acessivel de modo modular, ou seja, de modo extendido, vc pode criar plugins, ou modulos.

 

Por ex.

vc cria a classe de conexão e ações com banco de dados. chamaremos ela de classe db.php

 

<?php
class db{

function __construct(){}

function conectart(){}

function desconectar(){}

function query(){}

}

?>

 

vc cria a classe model nela estara as funções suas de modelagem de dados. Ou seja, as formas de armazenamento de dados. ai teremos:

<?php
class model extends db{

function __construct(){}

function inserirDados(){}

function editarDados(){}

function deletarDados(){}

}

?>

 

Notou que ela e uma extensao da classe db, ou seja, ela pega todos os metodos da classe anterior e incorpora.

 

Tai a magica.. de forma resumida e tal..

 

talvez vc se confunda na parte de carregamento do arquivo, feito eu falei no autoload, mas da uma olhada no link la que esclarece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente o sistema modular trabalha com extensao de classes e variaveis globais.

 

Extensão de classes - herança? o que isso tem a ver?

Variáveis globais?????????? :o

 

---

 

Bem, fugiu do tópico. E essa implementação é um tiro no pé do ponto de vista da orientação a objetos. O tópico se relaciona com sistema de plugins....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.