Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 9 de 9
  1. #1

    Avatar de SpinXO
    Data de Ingresso
    Apr 2015
    Localização
    localhost
    Posts
    116
    Agradecido
    60
    Agradeceu
    28
    Peso da Avaliação
    10

    Padrão Classe de criação de Formulários PHP OO

    Algum meio de evoluir este script? ou assim já está bom?

    Código PHP:
    <?php

    if (class_exists('Form') == FALSE) {

        class 
    Form {

            public function 
    openForm($method NULL$action NULL) {
                
    $form "<form ";
                
    $form .= (isset($method)) ? "method=\"{$method}\"" "";
                
    $form .= (isset($action)) ? "action=\"{$action}\"" "";
                
    $form .= ">";

                return 
    $form;
            }

            public function 
    inputCreate($type NULL$name NULL$ext null) {
                
    $i "<input ";
                
    $i .= (isset($type)) ? "type=\"{$type}\"" "";
                
    $i .= (isset($name)) ? "name=\"{$name}\"" "";
                
    $i .= (isset($ext)) ? "{$ext}"";
                
    $i .= "/>";

                return 
    $i;
            }

            public function 
    selectOpen($name NULL$ext NULL) {
                
    $s "<select ";
                
    $s .= (isset($name)) ? "name=\"{$name}\"" "";
                
    $s .= (isset($ext)) ? "{$ext}"";
                
    $s .= ">";

                return 
    $s;
            }

            public function 
    option($val NULL$ext NULL) {
                
    $o "<option ";
                
    $o .= (isset($ext)) ? "{$ext}"";
                
    $o .= ">";
                
                return 
    $o "{$val}</option>";
            }

            public function 
    selectClose() {
                return 
    "</select>";
            }
            
            public function 
    textOpen($name NULL$ext NULL) {
                
    $t "<textarea ";
                
    $t .= (isset($name)) ? "name=\"{$name}\"" "";
                
    $t .= (isset($ext)) ? "{$ext}"";
                
    $t .= ">";
                
                return 
    $t;
            }
            
            public function 
    textClose() {
                return 
    "</textarea>";
            }
            
            public function 
    btnForm($title$type NULL$name null$ext NULL) {
                
    $b "<button ";
                
    $b .= (isset($type)) ? "type=\"{$type}\"" "";
                
    $b .= (isset($name)) ? "name=\"{$name}\"" "";
                
    $b .= (isset($ext)) ? "{$ext}"";
                
    $b .= ">";
                
                return 
    $b "{$title}</button>";
            }

            public function 
    closeForm() {
                return 
    "</form>";
            }

        }

    }

  2. #2

    Avatar de navossoc
    Data de Ingresso
    Jan 2013
    Localização
    local
    Posts
    321
    Agradecido
    535
    Agradeceu
    199
    Peso da Avaliação
    15

    Padrão

    Desnecessário uma classe pra isso...

    Só acho...

    []'s

  3. Os Seguintes 2 Usuários Agradeceram você navossoc Por este Post Útil:


  4. #3

    Avatar de SpinXO
    Data de Ingresso
    Apr 2015
    Localização
    localhost
    Posts
    116
    Agradecido
    60
    Agradeceu
    28
    Peso da Avaliação
    10

    Padrão

    Desnecessário foi o seu comentário...
    Estou pedindo dicas...

  5. #4


    Avatar de WoLfulus
    Data de Ingresso
    Jan 2015
    Localização
    Brasil
    Idade
    32
    Posts
    231
    Agradecido
    636
    Agradeceu
    204
    Peso da Avaliação
    12

    Padrão

    Citação Postado originalmente por SpinXO Ver Post
    Desnecessário foi o seu comentário...
    Estou pedindo dicas...
    é desnecessário sim. navossoc tem razão.

    agora vamos pro "pq"

    1. vc não deu uma razão plausível pra fazer isso (se for "só pra aprendizado" vai ser um péssimo motivo - se for pra fazer errado, nem faça)
    2. vc só ta gerando html ai dentro. isso dá pra fazer direto em um template.
    3. não soma nada em lugar nenhum... não tem nenhum tipo de mecanismo pra processar o form, validar os campos, ou proteger contra csrf. então pq complicar mais?
    4. vc nunca vai conseguir cobrir todos os casos de uso e sempre vai ter que ficar mantendo e modificando isso.
    agora o 5º e mais importante:

    sempre tem coisa já feita por alguém (ou várias pessoas) que sabem bem mais do que você, então antes de recriar a roda é
    mais fácil procurar coisas prontas... (maravilha do open-source)

    Zend_Form
    [Somente usuários registrados podem vem os links. ]


    abraço!

  6. Os Seguintes 4 Usuários Agradeceram você WoLfulus Por este Post Útil:


  7. #5

    Avatar de Sudeikis
    Data de Ingresso
    Mar 2014
    Localização
    Brazil
    Posts
    84
    Agradecido
    53
    Agradeceu
    37
    Peso da Avaliação
    11

    Padrão

    Realmente com tanta tecnologia boa hoje em dia uma classe dessa é desnecessária, mas como não foi essa a pergunta... eu no seu lugar faria uma variável pra armazenar o conteúdo criado por estes métodos, uma função pra adicionar um conteúdo extra, como texto padrão do textarea e faria também uma função de saída. Mais ou menos assim:

    Código PHP:
    <?php 

    if (class_exists('Form') == FALSE) { 

        class 
    Form 

            private 
    $content;

            public function 
    openForm($method NULL$action NULL) { 
                
    $form "<form "
                
    $form .= (isset($method)) ? "method=\"{$method}\"" ""
                
    $form .= (isset($action)) ? "action=\"{$action}\"" ""
                
    $form .= ">"

                
    $this->content .= $form;
            } 

            public function 
    inputCreate($type NULL$name NULL$ext null) { 
                
    $i "<input "
                
    $i .= (isset($type)) ? "type=\"{$type}\"" ""
                
    $i .= (isset($name)) ? "name=\"{$name}\"" ""
                
    $i .= (isset($ext)) ? "{$ext}""
                
    $i .= "/>"

                
    $this->content .= $i;
            } 

            public function 
    selectOpen($name NULL$ext NULL) { 
                
    $s "<select "
                
    $s .= (isset($name)) ? "name=\"{$name}\"" ""
                
    $s .= (isset($ext)) ? "{$ext}""
                
    $s .= ">"

                
    $this->content .= $s;
            } 

            public function 
    option($val NULL$ext NULL) { 
                
    $o "<option "
                
    $o .= (isset($ext)) ? "{$ext}""
                
    $o .= ">"
                 
                
    $this->content .= $o "{$val}</option>";
            } 

            public function 
    selectClose() { 
                return 
    "</select>"
            } 
             
            public function 
    textOpen($name NULL$ext NULL) { 
                
    $t "<textarea "
                
    $t .= (isset($name)) ? "name=\"{$name}\"" ""
                
    $t .= (isset($ext)) ? "{$ext}""
                
    $t .= ">"
                 
                return 
    $t
            } 
             
            public function 
    textClose() { 
                
    $this->content .= "</textarea>";
            } 
             
            public function 
    btnForm($title$type NULL$name null$ext NULL) { 
                
    $b "<button "
                
    $b .= (isset($type)) ? "type=\"{$type}\"" ""
                
    $b .= (isset($name)) ? "name=\"{$name}\"" ""
                
    $b .= (isset($ext)) ? "{$ext}""
                
    $b .= ">"
                 
                
    $this->content .= $b "{$title}</button>"
            } 

            public function 
    closeForm() { 
                
    $this->content .= "</form>"
            } 

            public function 
    addContent($content) {
                
    $this->content .= $content
            }

            public function 
    output() {
                return 
    $this->content;
            }
        } 

    }

  8. O Seguinte Usuário Agradeceu Sudeikis Por este Post Útil:


  9. #6

    Avatar de hadeslan
    Data de Ingresso
    Oct 2010
    Localização
    Nada a dizer no moumento
    Idade
    30
    Posts
    996
    Agradecido
    207
    Agradeceu
    152
    Peso da Avaliação
    23

    Padrão

    ^^ ta ate meio que organizado mais nun vou falar nada doque nun sei
    ja eu não vou fazer mais formularios em php vou fazer em html5 agora


  10. #7

    Avatar de Sudeikis
    Data de Ingresso
    Mar 2014
    Localização
    Brazil
    Posts
    84
    Agradecido
    53
    Agradeceu
    37
    Peso da Avaliação
    11

    Padrão

    Você não, o Construct 2.

  11. O Seguinte Usuário Agradeceu Sudeikis Por este Post Útil:


  12. #8

    Avatar de navossoc
    Data de Ingresso
    Jan 2013
    Localização
    local
    Posts
    321
    Agradecido
    535
    Agradeceu
    199
    Peso da Avaliação
    15

    Padrão

    Citação Postado originalmente por SpinXO Ver Post
    Desnecessário foi o seu comentário...
    Estou pedindo dicas...
    O Wolf elaborou uma listinha para explicar os motivos pelos quais ele achou desnecessário, também concordo.

    Como eu disse, eu acho desnecessário, minha opinião, alias, pior que isso...

    Você está gastando processamento com algo que poderia ser muito bem estático (e ainda ter cache!).
    Código:
    4. vc nunca vai conseguir cobrir todos os casos de uso e sempre vai ter que ficar mantendo e modificando isso.
    Isso foi a primeira coisa que eu pensei.

    A classe é sua amigo, se você quiser usá-la, vá fundo.

    []'s

  13. #9

    Avatar de hadeslan
    Data de Ingresso
    Oct 2010
    Localização
    Nada a dizer no moumento
    Idade
    30
    Posts
    996
    Agradecido
    207
    Agradeceu
    152
    Peso da Avaliação
    23

    Padrão

    Citação Postado originalmente por Sudeikis Ver Post
    Você não, o Construct 2.
    @ON
    e ando estudando bem a engine , pelou menos tu sabes ler oque digo nesse mero fórum de deuses do português
    quem sabe num rola umas parcerias ai kkk
    @OFF não leia se não quiser você não e obrigado a ver o post abaixo

    onde parece que escrevo mandarim por comer pontos e vírgulas ou não usar o corretor ortográfico
    por preça e falta de tempo mesmo como dizem no mundo dos negócios tempo e dinheiro e algo que não tenho em
    nenhum dos dois no momento do texto postado senhor agathos e estava com meus alunos então pare com essa implicância
    com meus post dar um mero warm no cara so por que não parou 10 segundos dessa misera vida para corrigir um texto que
    não recebeu nen 0,01 centavo para ser postado

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Suporte| Validação de formulários com MVC
    Por SpinXO no fórum PHP
    Respostas: 8
    Último Post: 19-02-2016, 04:22 AM
  2. |Pedido| 3 Classe
    Por iDiedOficial no fórum Pedidos
    Respostas: 4
    Último Post: 03-05-2014, 10:06 AM
  3. |Release| MU Change Classe
    Por PowerX no fórum Downloads
    Respostas: 8
    Último Post: 09-04-2014, 06:01 PM
  4. |Desenvolvimento| Classe PDO multidriver
    Por Renato no fórum PHP
    Respostas: 6
    Último Post: 15-01-2014, 02:29 PM
  5. |Dúvida| Classe de personagens
    Por Getulio no fórum CA | WebSites
    Respostas: 3
    Último Post: 26-11-2010, 05:27 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •