Jump to content

Henrique Barcelos

Members
  • Content count

    4780
  • Joined

  • Last visited

  • Days Won

    27

Henrique Barcelos last won the day on April 8 2014

Henrique Barcelos had the most liked content!

Community Reputation

290 Excelente

About Henrique Barcelos

  • Rank
    ♪♫
  • Birthday 12/22/1990

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    São Paulo - SP
  • Interesses
    Node.js, Arquitetura de Software, Design Patterns, React, MySQL, MongoDB

Contato

Recent Profile Visitors

6547594 profile views
  1. Henrique Barcelos

    Como implementar SOLID sem violar seus principios ?

    Eu tinha começado a escrever um textão ontem, mas fiquei com sono e não terminei. O Gabriel falou basicamente tudo que eu iria falar (e de forma bem mais resumida :lol:). Uma última dica que eu dou é a seguinte: - http://br.phptherightway.com/ Use isso como guia.
  2. Henrique Barcelos

    OO enviar dados para view

    Normalmente os frameworks implementam algum método como [inline]assing[/inline] na view. Basicamente, você tem algo assim: class View { private $vars = array(); // ... public function assign($key, $value) { $this->vars[(string) $key] = $value; } public function __get($key) { return isset($this->vars[(string) $key]) ? $this->vars[(string) $key] : ''; } // ... public function render($template, $withVars = true) { // renderiza o template... se $withVars = true, passa as variáveis setadas para a view include $template; } } No seu controller, você faz algo como: $view = new View(); $view->assign('someAssignedVar', 'Foo'); $view->render(); Se você estiver usando templates baseados em PHP, basicamente o que você precisa fazer é: //file mytemplate.php <div id="foo"> <?php echo $this->someAssignedVar ?> </div>
  3. Henrique Barcelos

    Sistema com classes compactadas, tem como?

    Cara, só dá pra acessar seu arquivos PHP se o invasor tiver acesso ao servidor onde ele está hospedado.
  4. Henrique Barcelos

    Matemática avançada

    Cara, Matlab '-'
  5. Henrique Barcelos

    Programando para PHP

    1. PHP não é tão rápido assim: http://www.prahladyeri.com/2014/06/php-vs-node-js-real-statistics/ 2. Envolver QUALQUER coisa que acesse o sistema de arquivos obviamente irá reduzir a performance de QUALQUER programa em QUALQUER linguagem. A não ser que você queira manter toda sua base de dados em memória ou tenha um sistema de cache muito eficiente, não dá pra fugir disso.
  6. Henrique Barcelos

    Aprendendo PHP na marra com OO

    De onde surgiu isso? PHP não tem a keyword [inline]var[/inline] na versão 5. Na versão 4 ela era usada exclusivamente para declarar propriedades de classes. Sobre o construtor, atualmente há suporte para se utilizar tanto um método com o mesmo nome da classe, tal como em C++ ou Java, mas a maneira moderna de fazê-lo é com o método [inline]__construct[/inline]. Errado. Veja no manual do PHP. Nesse caso em específico, há um problema, pois o tipo string não é um objeto, como no Java, mas um tipo nativo. A maior diferença na execução é que não há um entry point definido como uma função, como no Java ou no C. O PHP é uma linguagem de script. Como tal, os comandos são lidos em sequência e executados. Você deve fazer assim no seu arquivo: class Foo { public function bar() { echo 'bar'; } } $foo = new Foo(); $foo->bar(); Para executar, na linha de comando, basta fazer: php seu_arquivo.php
  7. Henrique Barcelos

    O forum de PHP acabou?

    Existia essa funcionalidade antes, mas foi tão mal utilizada que foi removida. Como o Carlos falou, é humanamente impossível encontrar todos os problemas e removê-los. Sempre que você vir algo que julga estar errado, envie uma MP para o(s) moderador(es) da área para facilitar nosso trabalho também :thumbsup: .
  8. Henrique Barcelos

    O forum de PHP acabou?

    @criatividade zero, você pode ser mais específico? O fórum de PHP é o mais movimentado aqui, fica difícil para mesmo para nós moderadores ficarmos vendo 3, 4 páginas de novos tópcios por dia...
  9. Henrique Barcelos

    Sobre Orientado a Objeto em PHP

    Também não. Está mais que errado. @CL4nG, até acredito que você seja um hacker, mas isso tem nada a ver com ter bons skills de programação orientada a objetos. E o contrário também é verdadeiro. Duvido muito que o Martin Fowler ou o Bob Martin saibam como invadir sistemas, como você :thumbsup: . _______________________________________________ @André, embora pareça que não, sign up e sign in são atividades completamente distintas, logo, não deveriam estar na mesma classe. Sign up é uma inserção de informações, com algumas regrinhas a mais (unicidade de nome de usuário/exigências sobre a senha). Sign in envolve autenticação e posterior autorização de usuários.
  10. Henrique Barcelos

    Sobre Orientado a Objeto em PHP

    @CL4nG, fazendo isso que você sugere, estamos quebrando o LSP. A maneira correta de fazer é realmente injetando as dependências, ou no método, como o @André está fazendo, como uma propriedade da classe. Embora isso esteja correto, é uma das poucas coisas no código que está de acordo com as boas práticas (isso é uma crítica construtiva, ninguém nasceu sabendo). Sugiro que você dê uma estudada nos princípios SOLID, começando pelo SRP.
  11. Henrique Barcelos

    PDO | Select dinâmico

    Acho que isso resolve: $stmt = $select ->item('*') ->from('tbl_sistema') ->where('_status = :_status', array('_status' => '1')) ->orderby('_nome DESC') ->execute();
  12. Henrique Barcelos

    PDO | Select dinâmico

    De onde vem essa variável [inline]$stmt[/inline]?
  13. Henrique Barcelos

    Limite no tamanho da classe?

    E dependendo da funcionalidade, esse é o melhor jeito mesmo. Sua classe pode ser grande, desde que realize apenas um conjunto bem limitado e coesivo de ações. Leia sobre o SRP.
  14. Henrique Barcelos

    Qual o erro ?

    if($status == '0'){ $msg = "<h2>Olá!</h2><br/>Desse jeito.
  15. Henrique Barcelos

    Como usar Registry em MVC?

    Bom, primeiramente seu controller não deveria nem se quer saber que você faz uma conexão com o banco de dados. Apenas seu model precisa ter esse conhecimento. Além do mais, o próprio padrão registry nada mais é do que um singleton disfarçado. O que você realmente precisa é de Injeção de Dependências. Se você sabe ler inglês, recomendo este artigo do Martin Fowler (tem uma tradução disponível aqui, não cheguei a ler pra ver se é boa). Para começar com injeção de dependências, eu recomendo o Pimple.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.