Servidor PHP com Winginx

Sempre usei o EasyPHP como meu servidor de PHP, mas como precisei de mais, achei e analisei o Winginx, que é um complexo servidor web local no Windows para desenvolver em PHP e Node.js usando bancos de dados MySQL, MongoDB, Redis, memcached.
Um excelente substituto que cobre a atual necessidade da minha aplicação que é o Node, MongoDB e memcached, além de outros serviços. Substituindo com maestria o EasyPHP .

Com isso, possivelmente passarei a usar a Digital Ocean para as cloud applications.

Então fica a dica 😉

>Solução Erro Feeds WordPress

>Algumas instalações pessoais de wordpress podem apresentar erro na saída de feed. Em sua maioria estes erros são causados por existência de espaços em branco antes da declaração de XML que é o responsável pelo resultado quebrado.

Demonstração saída com erro:

Erro no processamento de XML: declaração xml ou de texto fora do início da entidade Posição: http://www.teste.com.br/xxxxx/feed/ Número da linha 4, coluna 1:

Isto significa que se antes do caractere < houver caracteres indesejados, estes precisam ser eliminados (também os espaços em branco) para que a saída tenha uma declaração limpa de XML.


< ?xml version=”1.0″ encoding=”UTF-8″?>

A solução mais simples é a alterar o arquivo de saída wp-includes/feed-rss2.php.

Abra com um editor de texto e localize o seguinte código:


header(‘Content-Type: ‘ . feed_content_type(‘rss-http’) . ‘; charset=’ . get_option(‘blog_charset’), true);
$more = 1;

Abaixo da linha $more = 1; adicione o código:

$out = ob_get_contents();
$out = str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input);
ob_end_clean();

Mas o que é e para que servem as 3 linhas?

Começando pelo básico, ob significa Output Buffer, que nada mais é do que o Buffer de saída.

Buffer á uma região da memória onde os dados ficam armazenados temporariamente até que sejam despejados para a aplicação.

Você deve ter se deparado com algum erro de Headers already sent. Isso se dá porque já foi enviada alguma saída para o navegador.
O ob_get_contents(), irá retornar o conteúdo do buffer.

str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input); irá remover todos os espaços em branco existentes;

ob_end_clean() irá limpar, esvazia o buffer e encerrá-lo.

Deu uma olhada agora e, lá está seu feed prontinho 😉

>Encurtador Pessoal de URLs

>A duas semanas resolvi listar, analisar, por em ordem e concluir todos os projetos pessoais que havia parado.

Eis que me deparo com um que gosto muito, um encurtador de urls pessoal. Haviam algumas lacunas a serem preenchidas para que este fosse finalizado e por isso acabei não dando continuidade. Até semana passada!

Lacunas com base em segurança e funcionalidades não encontradas em nenhuma ferramenta atual no mercado, que agora estão concluídas. Abaixo um pegueno print, em breve, a url;)

>Estendendo Joomla

>Um aspecto freqüentemente negligenciado do joomla é que ele é construído sobre um framework MVC Sólido. Assim, Estender seu núcleo é realmente muito parecido com trabalhar com produtos como o zend framework e CodeIgniter, que lhe dão um projeto interessante de back-end sobre a qual é possível  integrar suas próprias extensões. Esta abordagem também dá aos designers a possibilidade de utilizar um modelo substituído, mesmo para extensões de terceiros.

Tipos de extensões
Joomla fornece 3 modelos, cada um com funções diferentes: componentes, Módulos e Plug-ins.

Componentes para ampliar o núcleo, adicionando funcionalidades específicas, tais como e-commerce, eventos, forúns. Do ponto de vista do usuário, podemos pensar de componentes discretos como seções de um site, não está ligado a outros conteúdos. Um exemplo popular é o JEvents, um calendário de eventos.

Módulos são como widgets do wordpress, eles mostram informações de um componentes, que é extraído do banco de dados. Eles são acoplados para a posições desejada e pode ser colocado em cada página do site.

Plug-ins trabalham como os do wordpress, drupal e tantos outros, através de ganchos(hooks) porque se ligam a eventos do sistema específico no formato desejado, permitindo manipular e substituir a saída HTML.

Entre os campos possíveis está em seu raio de ação o conteúdo para artigos(como a mais popular para incorporação de vídeos, ALVideos) .

É comum a confusão de plug-ins no joomla com a criação de módulos ou componentes, Mascomo podemos ver acima há diferenças.

>A Short Tag PHP Sem Radicalismo

>Voltado a padrões, essa é a vida de quem programa e chega a um nível que somente programar não é suficiente.
O programador e os clientes lucram com a qualidade, fácil identificação e manutenção dos códigos são algumas destas vantagens.

Recebi alguns comentários sobre um post antigo que defini utilizar a short tag de abertura do PHP desta forma <?PHP que é o padrão que está sendo definido na comunidade. Porém claro, a maioria dos servidores é configurado para aceitar a short tag <? .

Pessoal, sem problemas, não sou e nunca serei radical, o que importa é programar de forma correta. Mas vamos combinar uma coisa, ou se usa um ou outra! Variar entre as duas dentro de um mesmo código é feio demais.

Mas voltando, este entendimento chega conforme o programador evolui, e nada de radicalismo.
Então lembrando, elegância em código também é uma boa prática e um padrão 😉


Fonte: blog edersonmelo

>A Short Tag PHP Sem Radicalismo

>Voltado a padrões, essa é a vida de quem programa e chega a um nível que somente programar não é suficiente.
O programador e os clientes lucram com a qualidade, fácil identificação e manutenção dos códigos são algumas destas vantagens.

Recebi alguns comentários sobre um post antigo que defini utilizar a short tag de abertura do PHP desta forma <?PHP que é o padrão que está sendo definido na comunidade. Porém claro, a maioria dos servidores é configurado para aceitar a short tag <? .

Pessoal, sem problemas, não sou e nunca serei radical, o que importa é programar de forma correta. Mas vamos combinar uma coisa, ou se usa um ou outra! Variar entre as duas dentro de um mesmo código é feio demais.

Mas voltando, este entendimento chega conforme o programador evolui, e nada de radicalismo.
Então lembrando, elegância em código também é uma boa prática e um padrão 😉


Fonte(s): Blog phppattern

>Uso de try/catch

>Quando se desejar incluir qualquer código que possa gerar um erro ou uma exceção dentro da construção try o bloco é encerrada e então o bloco catch é consultado para encontrar o tipo apropriado de exceção e tratados de acordo com o código dentro do catch correspondente.

try {
//…
} catch ( FileException $e ) {
throw $e;
}

Uma das vantagens é a possibilidade de exibir tanto ou tão pouca informação que se precise.  Existem vários métodos disponíveis, e a possibilidade de criar suas próprias mensagens de erro ou para lidar com condições em conformidade.

try {
throw new Exception(‘Syntax error’);
} catch(Exception $e) {
// the input string passed to the object
$msg = ($e->getMessage());
// customizable error code
$code = ($e->getCode());
// name of the file that threw the exception
$file = ($e->getFile());
// line number containing the exception
$line = ($e->getLine());
echo “Error no. $code: $msg in file $file on line $line”;
}
?>

Fonte(s):
http://phppattern.blogspot.com/