6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API.Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa().Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarrística de fazer:1) se Ver…

PHP 5.2.13 ou 5.3 e Apache 2.2.15 no windows

Se você está enfrentando problemas ao instalar o apache + PHP nestas versões isso pode estar ocorrendo por causa de erro em alguma extensão.

Li muitos casos na web, posts em foruns e blogs, que algumas versões anteriores também enfrentavam esses problemas.


Problemas:

1) Apache não inicia

2) Mensagens de erro envolvendo a dll php5ts.dll

3) Nenhuma mensagem de erro nos logs do apache. Apenas é mencionado que ele teve de reiniciar

4) Texto do log de eventos Aplicativo com falha php.exe, versão 5.2.13.13, módulo com falha php5ts.dll, versão 5.2.13.13, endereço com falha 0x000f351c.


Para solucionar, tente o seguinte:
1) Certifique-se que o apache funciona sem PHP.

Para isso desisntale o PHP e retire do arquivo httpd.conf do Apache as linhas que configuram o PHP



LoadModule php5_module "C:/Arquivos de programas/PHP/php5apache2_2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini 
PHPIniDir "C:/Arquivos de programas/PHP"

2) Certifique-se de que a variável de ambiente do PHP está configurada, clicando com o botão direito do mouse em meu computador --> avançado --> variaveis de ambiente


3) Certifique-se de que o PHP está funcionando: no prompt de comando digite php -v para ver a versão. Provavelmente ocorrerá um erro.


4) Se já desinstalou o PHP, reinstale e na hora de excolher as extensões que vai usar, escolha apenas e estritamente as que vai precisar mesmo. Eu desabilitei todas e escolhi apenas a do mySql, por enquanto.



Se estiver usando apache (provavelmente) o PHP que você precisa é o compilado no VS6 (visual studio 6). Há versões do PHP compiladas no VS9 (visual studio 2008) [apenas php 5.3], mas suas dll's não são compativeis com o Apache 2.2.



5) Algumas dll's dentre as extensões estão com problemas nesse release. Dentre elas foi citada a extensão do MSSQL.



6) Alguns reportaram também erro na dll msvcr71.dll. Por isso, tente atualiza-la ou substituí-la pela mesma dll de outra máquina que funcione.



7) Para que funcionem as tags curtas, com <? ?> vá no php.ini e coloque o short_open_tag = On (não é aconselhável usar as short tags se você não tiver acesso ao php.ini do servidor)



8) Tenha certeza de que está chamando o módulo certo do php no apache. Para apache 2.2 o módulo não é o php5apache2.dll e sim o php5apache2_2.dll



9) Resolvi TODOS os meus problemas instalando o php 5.3 em vez do 5.2. Ele só vem com a dll php5apache2_2.dll, então pelo que eu entendi ele só suporta o apache 2.2 .... consegui instalar o joomla .... fuck off ¬¬



O link abaixo me ajudou:



http://tidoc.wordpress.com/2010/04/27/php-5-2-13-apache-2-2-15-windows/



Sinceramente, eu não sei o que acontece se instalar o php compilado no VS9 no apache 2.2. Quem quiser testar, por favor.

Comentários

  1. Vitor,

    Seu artigo foi bem esclarecedor. Obrigado pelas dicas.

    Sucesso com seu blog!

    ResponderExcluir
  2. Alessandro, agradeço seu feedback.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Detectar o encoding de um arquivo para não corromper ao transformá-lo

erro "ora-12154: tns: não foi possível resolver o identificador de conexão especificado"

Factory Reset do Samsung Galaxy S