manoaj 12 Denunciar post Postado Abril 18, 2013 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
mangakah 217 Denunciar post Postado Abril 19, 2013 Até onde sei, a forma correta de vincular módulos é usando um adaptador. :seta: Padrões de Projeto - Adapter | iMasters :seta: Practical Aspects of the Adapter Pattern :seta: PHP Design Patterns Adapter Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Abril 19, 2013 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
Bruno Augusto 417 Denunciar post Postado Abril 19, 2013 Resumindo, plugins como WordPress. Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Abril 19, 2013 é exato como é feito esse tipo de sistema eu não tenho a minima ideia Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Abril 20, 2013 http://blog.ircmaxell.com/2012/03/handling-plugins-in-php.html Não achei nada sobre o assunto em português que seja decente, mas está aí um artigo legal (em inglês). Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Abril 20, 2013 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
manoaj 12 Denunciar post Postado Abril 20, 2013 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
Enrico Pereira 299 Denunciar post Postado Abril 20, 2013 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
manoaj 12 Denunciar post Postado Abril 20, 2013 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
Enrico Pereira 299 Denunciar post Postado Abril 20, 2013 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
manoaj 12 Denunciar post Postado Abril 20, 2013 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
Enrico Pereira 299 Denunciar post Postado Abril 20, 2013 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
manoaj 12 Denunciar post Postado Abril 20, 2013 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
Enrico Pereira 299 Denunciar post Postado Abril 20, 2013 Certo, o objetivo dos plugins serão apenas na parte da visualização? Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Abril 20, 2013 é mas as funções dos plugins teriam que ir junto com elas ou não? Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Abril 21, 2013 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
manoaj 12 Denunciar post Postado Abril 21, 2013 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
Tellys Castro 12 Denunciar post Postado Abril 21, 2013 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
Enrico Pereira 299 Denunciar post Postado Abril 21, 2013 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