Já ouviu fala do Medoo?

Medoo - The Lightest PHP database framework

Medoo – The Lightest PHP database framework

Você já ouviu falar do Medoo(http://medoo.in/)? Pois é eu nunca tinha ouvido falar, mas assim como outro framework para banco de dados que eu usava Lumine PHP(projeto brasileiro) eu nem sabia que existia, dai outro dia procurando algo melhor na web achei essa classe muito simples e legal.

Medoo é um framework php para banco de dados, veja bem, ele não é ORM, ele trabalha mais como um facilitador de conexão com o banco de dados, ele usa PDO para conectar ao banco e claro aceita mais de um banco de dados como MySQL, MsSQL, PostgreSQL e outros. Como forma de facilitar ainda mais meu trabalho tenho pensado no desenvolvimento de adicionais para ele o que iria facilitar muito meu trabalho, mas não pretendo desenvolver nada que sai da simplicidade que ele oferece.

Ele já usa e sugere os novos padrões de desenvolvimento em PHP5 o que deixa a “brincadeira” muito mais divertida.

Caso você use em alguma aplicação sua comenta ai, para podemos compartilhar dicas e sugestões. Espero que ela te ajude também no desenvolvimento, de novos sistemas ou até mesmo na manutenção.

Abraços

O valor do parabéns – Bom trabalho

É segunda-feira, vai trabalhar!

É segunda-feira, vai trabalhar!

Todos nós gostamos de ser parabenizados, mesmo que alguns de nós não nos importemos muito com isso, quando alguém te dá os parabéns por um bom trabalho é um muito bom, algumas pessoas chegam até a ficar convencidas achando que são alguma coisa importante, porém esse não é o foco.

Você já deu parabéns para algum colega de equipe essa semana? E esse mês?
Pare para pensar quantas vezes você fala ao menos um “Gostei“. Isso muda toda a interatividade da relação com a pessoa, é tão legal que quebra paradigmas ou preconceitos criados com sua pessoa, não que você seja uma pessoa ruim, porém o dia a dia te deixa tão cheio de coisas que esquece de fazer o simples sempre.

Não estou aqui querendo ficar falando de positivismo e tal, estou querendo lhe mostrar que um simples “Está bom“, “Gostei” ou um “Bom trabalho” pode motivar muito e ajudar ainda mais quando estamos travados mentalmente, eu não sou Designer que sofrem mais com isso, contudo já passei por situações de intenso estresse que eu olhava o código e não entendi nada, era só texto para mim.

Portanto meu grande leitor, quebra o clima, destrua barreiras, mostre atitude e dê os parabéns para alguém mesmo que o trabalho não tenha sido um dos melhores, você pode muito bem dizer: “Não é o seu melhor, mas tá bom”, poxa algo tão simples pode ajudar muito em futuros projetos.

Bom essa dica de hoje me pareceu meio positivista o que não sou maior fã, contudo estou sempre tentando aplicar, rsrsrs.

Ótima semana para vocês.

Abraços

Desenvolvimento organizado – Pastas nos lugares certos

Organização ou estresse

Organização ou estresse

Dessa vez estou aqui para falar de algo que muitas vezes me incomoda  e é algo simples demais. Estou sempre a procura da metologia de trabalho perfeita, sei que isso é impossível mas acredito que minha busca é o mais importante nesse processo pois aprendo cada vez mais só por tentar. Quero falar da organização de pastas e arquivos usados em um projeto.

Esse é um item simples que ajuda muito depois quando se vai dar manutenção em um projeto ou até mesmo implementar novas funcionalidades. Vou sugerir algumas dicas que talvez lhe ajudem também quando estiver fazendo um site ou sistema.

Pasta para CSS, JS e afins

Essa é muito simples, existem varias formas de se arrumar e com varios nomes que podemos usar, eu sinceramente prefiro sempre a metologia de jogar meus arquivos css, javascript, imagens dentro da pasta “media“, porém voce poderia colocar em algo como “assets“. Sei que pode parecer bobeira mas ajuda muito e já vou explicar o motivo.

Imagine que no diretorio principal do site tem:

/blog/ – onde esta a pasta e arquivos do blog;
/helpdesk/ – arquivos do help desk da empresa;
/admin/ – area administrativa da empresa;

poderia continuar com varios outros arquivos que vejo por ai, e dai quando voce tem que dar manutençao tem arquivo e pasta pra todo lado fica quase impossivel se localizar, dai vem um criatura como você e coloca pelo menos mais 3 pastas(css, js, imagens). Poderia ficar algo como:

/media/images/ – imagens do site ou sistema
/media/css/ – arquivos css ou similares(tipo less ou sass)
/media/js/ – arquivos javascript e similares(tipo jquery, mootools)
/media/swf/ – arquivos flash e similares

Poxa se você colocar tudo numa pasta vai ganhar muito mais espaço visual, sem falar que vai estar arrumando tudo num só lugar, olha que maravilha!!

Pasta “system” pode ajudar muito

Agora se você é um programador que gosta de sair jogando arquivo em todo lugar sem arrumação espero que tenha muito problema pra dar manutenção nesses sistemas, a dica é a mesma lógica, vejamos:

Caso tenha um sistema poderia muito bem deixar tudo mais simples da seguinte forma, vou me basear em varios sites e sistemas que já dei suporte e montar um padrão básico, mas vou pode adaptar de acordo com a necessidade:

/system/  – coloquei aqui arquivos de seu sistema(banco de dados, funções, bibliotecas e afins), pode colocar arquivo de configurações chamado por toda a aplicação se assim for melhor para você, eu prefiro colocar no diretório principal;
/sys-uploads/ – aqui entram os arquivos de upload da sua aplicação, sempre deixe ela no diretorio principal pois quando tiver que fazer alterações na sua aplicação é só não mexer nessa pasta;
/themes/ ou /templates/ – aqui podem entrar todos os arquivos referente ao tema/template de sua aplicação, caso ache melhor pode ate colocar dentro de “system” caso ache melhor;

Muito mais você pode fazer baseado nisso, existe sempre a possibilidade de usar o mod_rewrite do apache para facilitar ainda mais onde por exemplo, tendo um sistema administrativo, poderia colocar dentro de “system” e colocar um rewrite para dentro dessa pasta, algor como:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/(.*)$ system/admin/$1 [L]
</IfModule>

Eu sinceramente espero ter ajudado de alguma forma e espero dar manutenção em sistemas que você organizaram e parabeniza-los.
É isso ai galera.

Abraços.

Desenvolva aplicações Desktop com PHP(sem GTK+) – :)

PHPDesktop - logo

PHPDesktop – logo

PHP Desktop (Chromium) é um projeto de código aberto desenvolvido por Guilherme Alencar para prover um meio de desenvolver aplicações desktop nativas utilizando tecnologias web como PHP, HTML5, JS e SQLite. Engloba um navegador web (Chromium, uma versão livre do navegador Chrome do Google), um servidor web embutido (nativo da linguagem PHP desde a sua versão 5.4.0), e o interpretador PHP, com a extensão sqlite3 para banco de dados da aplicação.

A idéia é inspirada no conceito de SSB (Site-Specific Browser), que consiste em adaptar um navegador para rodar aplicações web no modo desktop de modo específico para sua aplicação. Em alguns navegadores esta funcionalidade é adicionada com Extensões, mas no Chromium esta função é nativa com a opção -app=”site”.

Chromium - Splash

Chromium – Splash

Há um outro projeto PHP Desktop, desenvolvido por Czarek Tomczak (http://code.google.com/p/phpdesktop/), no qual este foi inspirado. O meio utilizado por Czarek para alcançar os seus objetivos é distinto, a saber, compilar uma aplicação com a mesma engine do Chrome utilizando um framework chamado CEF (Chromium Embedded Framework), que se assemelhará a um navegador executando o servidor Web PHP embutido num mesmo executável. Isto será muito mais limpo, rápido e menor. O projeto PHP Desktop de Czarek também é mais abrangente, pois pretende alcançar mais navegadores, enquanto este se prende ao Chromium (embora possa ser implementado para outros navegadores também, por meio de extensões, como já referido).

O projeto de Czarek já criou uma aplicação SSB para Microsoft Internet Explorer, o que é vantajoso, pois o projeto é pequeno por rodar a versão do Internet Explorer do Host, e não um Internet Explorer embutido (isto tem vantagens e desvantagens, pois você nunca saberá que versão do Internet Explorer o Host terá instalado).

A versão para Chromium de Czarek ainda não possui release, e este projeto pode ser utilizado enquanto isso não ocorre.

Outras vantagens de se utilizar este projeto é a possibilidade de utilizar recursos do navegador na sua aplicação, como a opção Ctrl+Print (o que não foi implementado ainda no CEF). Também existe a possibilidade de utilização de Extensões do navegador Chromium na sua aplicação, o que pode acrescentar funcionalidades interessantes.

O modo de desenvolver é o mesmo para uma aplicação Web para WAMP (Windows, Apache, MySQL e PHP). Coloca-se a aplicação na pasta www, em que o primeiro arquivo a ser executado deve-se chamar index.php ou index.html. Depois, basta executar o Launcher.exe que executará o servidor PHP (phpdesktop.exe, que é o mesmo executável do php.exe do zip obtido em php.net), e o navegador Chromium apontando para o endereço 127.0.0.1 na porta 54007 (http://127.0.0.1:54007/). Se a janela for fechada, o executável phpdesktop.exe é eliminado da lista de processos do Windows utilizando Javascript e PHP.

Por enquanto o projeto roda apenas em Windows.

Descrição das Aplicações
PHP 5.4.12, Chromium (Portable) 26.0.1410.5, jQuery Javascript Library 1.6.2.

Extensões do PHP
As extensões utilizadas são: cURL, SQLite3, OpenSSL, PDO (SQLite). Outras extensões podem ser utilizadas baixando-se o zip da versão 5.4.12 do php em php.net e colocando a dll desejada em ext/, e depois ativando-a em php.ini. Extensões sugeridas são GD2 (para geração de imagens) e extensões para habilitar suporte a outros bancos de dados (MySQL, PostgreSQL).

Fonte: http://phpbrasil.com/artigo/YKKOwyby_P7e/desenvolva-aplicacoes-desktop-com-php-nao-nao-e-gtk

Será que tem futuro isso? Eu sinceramente espero que sim 😀
Eu fiz um teste simples e gente funciona mesmo, porém pra aplicações um pouco mais complexas, testem e comentem ai o que dá.

abraços

PHP ou frameworks? Porque migramos?

PHP - Logo

PHP – Logo

Todos os programadores PHP conhecem ao menos um framework PHP que irá lhe auxiliar no desenvolvimento de projetos, ainda mais nos tempos de hoje onde tudo tem que ser o mais rápido possível  e os frameworks nos ajudam nisso, caso o queira usar um provavelmente você desenvolveu o seu próprio que lhe ajuda muito nos projetos que faz, espero que entendam o ponto que quero destacar aqui.

Zend Framework - Logo

Zend Framework – Logo

Alguns programadores que usam frameworks PHP de tempos em tempos migram de framework, seja por uma facilidade a mais, ou por outros motivos, mas um fato que tenho visto ocorrer muito é por aprender algo novo com o novo framework, o que na verdade não é do framwork e sim do PHP que por muitas vezes já existia até em versões antigas, porém pelo fato de o framework ter apresentado um nova forma de usar que seja mais bonita ou mais prática, tais programadores acham o framework inovador e tudo o mais.

Codeigniter - Logo

Codeigniter – Logo

Contudo e venho me perguntando sobre tais metodologias, pois nem sempre o que o framework está a oferecer é o melhor em processamento ou agilidade e acredito que seja algo que devemos nos preocupar pois eu como desenvolvedor/programador tenho que me preocupar muito com velocidade que trabalho com web onde temos acessos simultaneos enormes e nem todo servidor suporta tao facilmente, isso me lembro o WordPress( que não considero como framework) onde no inicio há anos atrás tinha um “plugin” de estatisticas muito na moral.

No entanto ele tinha um enorme problema consumia grande quantidade do processamento e como o WP é muito usado e hospedagem compartilhadas isso era um “problemão”, entao desativaram e deixou de ser uma ferramenta padrão do WP, o que quero dizer com isso, é que nós temos que aprender com a evolução e não nos adaptar com o que nós é oferecido somente, eu aprendo muito com varios frameworks php, cada um possui sua própria metodologia, porém não é por isso que vou usar o framework no meu dia a dia, posso simplesmente adaptar a metologia ao framework php que eu estiver usando seja um framework desenvolvido por mim ou pela comunidade.

Laravel - Logo

Laravel – Logo

Não espero criar discussão sobre o que é melhor, e sim faze-los pensar nos caminhos que a comunidade PHP tem se guiado.

abraços e até mais. 😀