Os benefícios e as vantagens do PHP

Se você é programador iniciante e quer começar alguns projetos para web, este texto é para você – se estiver se perguntando sobre como o PHP pode ser útil e quais são as vantagens em fazer esta escolha, eu tenho uma lista com pelo menos 15 itens favoráveis ao PHP. Me acompanhe.

O PHP é gratuito

Isto significa que o seu projeto de aprendizagem começa sem ter que pôr a mão no bolso – se você se arrepender no final, pelo menos não vai ficar preso a este investimento. Você muda de direção e pronto.

Ninguém vai te cobrar royalties por desenvolver em PHP

Ao final do seu projeto, você tem o direito de distribuir o seu produto livremente. Ninguém virá correndo atrás de você, com uma turma de pitbulls advogados ameaçando te processar se você não lhe pagar taxas sobre o seu trabalho – ele é seu e só você ganha dinheiro com ele, se quiser.

Não há licenciamentos restritivos

200px-PHP-logo.svgo há contratos ou licenças detalhando o que você pode ou não pode fazer com a linguagem.
Faça o que você quiser.
A licença é permissiva a ponto de você poder, até mesmo, criar outra linguagem de programação a partir do PHP e distribuí-la e usar para os seus próprios objetivos comerciais.
O PHP pode ser usado em qualquer país, sob quaisquer leis, em qualquer tipo de aplicação. O seu contrato de uso é extremamente flexível, quando comparado ao JAVA e ao .NET.

Os custos de manutenção de um servidor são muito reduzidos

Além de ser muito fácil de instalar, em qualquer plataforma (inclusive Windows), o PHP foi projetado para rodar sobre o Linux e o Apache – ambos de código aberto e livres.
Os custos de um plano de hospedagem em um servidor Linux, Apache, MySQL e PHP (LAMP) são baixos. É possível encontrar alguns planos gratuitos na Internet, que não oferecem todas as vantagens de um plano pago, mas são ótimos para quem deseja aprender ou apenas testar um projeto.

Código maduro

Criado por Rasmus Leerdorf, em 1995, o PHP já tem 20 anos de estrada. Linguagem C LOGOÓbvio que isto não é grande coisa perto de uma linguagem como C, criada em 1969, por Dennis Ritchie. Contudo, a grande difusão de uso do PHP contribui para sua acelerada maturação.
Cabe dizer, aliás, que a linguagem PHP foi construída sobre a solidez da linguagem C, como quase tudo.
O PHP faz parte da mesma geração do JAVA e do ASP, tidas como linguagens comerciais (por conta de suas licenças de uso).

Atualizações consistentes

A linguagem PHP já saiu das mãos de seu criador há um bom tempo, embora ele continue sendo uma pessoa influente e importante, como se pode ver em sua página no Wikipedia. Contudo, o desenvolvimento da linguagem é mantido por várias pessoas, no mundo todo. Elas garantem que ela continue relevante para uso em qualquer site e que esteja sempre atualizada e pronta para responder os desafios que dela se pede.
Este é um dos pontos fortes dos projetos de código aberto, principalmente aqueles que se encaixam no conceito de softwares livres. Quando são relevantes, se tornam independentes da empresa ou da pessoa que os criou — sob certo ponto de vista e, talvez ironicamente, softwares livres estão mais próximos da ideologia capitalista do livre mercado do que os proprietários.
Traduzindo: você tem a certeza de que pode começar um grande projeto, por que você não vai acabar com uma linguagem abandonada e desatualizada nas mãos amanhã.

O PHP se integra a quase todos os bancos de dados usados na atualidade

logo-mysqlEmbora ele seja quase sempre associado ao MySQL, o PHP roda bem com quase todos os outros – Oracle, MSSQL, IBM DB2 etc.. só pra citar os grandes bancos comerciais. Ou seja, você não precisa migrar sua base de dados para migrar pro PHP. Custo a menos.

Muito fácil de aprender

Os conceitos básicos do PHP são muito fáceis de apreender. Além de uma extensa biblioteca disponível na internet sobre a linguagem, seus fundamentos não assustam os iniciantes e podem ser entendidos em poucas lições. A curva de aprendizagem, pra quem gosta da expressão, te favorece.

Grande quantidade de ambientes de desenvolvimento profissionais disponíveis

Um ambiente integrado de desenvolvimento ou IDE (Integrated Development Environment) é um conjunto de softwares que oferece ao programador todas as ferramentas necessárias para desenvolver um projeto.
Mesmo um editor de textos “simples” como o vi, pode resolver para quem deseja editar um código. Eu uso o Komodo, entre outros.

O PHP está rodando na maioria dos servidores web

Algumas estatísticas apontam para um número maior superior a 90% — mas eu gosto de ficar do lado seguro dos números, ainda que menores.
O Netcraft contou, em Janeiro de 2013, 244 milhões de servidores PHP, na Internet – o que significava mais de 39% dos servidores web.
Note que a pesquisa em questão contou apenas os servidores web. Não são somente servidores web que usam PHP. Sites de serviços tais como comércio eletrônico, redes sociais, blogs, gestão de conteúdo etc… todos eles podem usar e usam PHP.

Trata-se de uma tecnologia testada

Com algo em torno de 20 anos de vida, o PHP é uma linguagem escrita para a Internet – e moldada pela Internet.
Forjada na web, tem sido usada em projetos gigantescos, como o Wikipedia, o Yahoo, Flickr, WordPress e na interface ao usuário do Facebook.
Se você está começando um projeto e pretende que ele cresça, começar em PHP é uma boa idéia.

O suporte ao PHP é um bom negócio

Há dezenas de milhares de negócios voltados a dar suporte no PHP – treinamento, desenvolvimento de soluções, manutenção de produtos e servidores, suporte técnico etc.
Vários profissionais podem ajudar você e o seu negócio a crescer ou a encontrar soluções envolvendo a linguagem PHP.

Desenvolver em PHP é um bom negócio

Centenas de milhares de programadores conhecem PHP e muitos dominam e têm conhecimento mais aprofundado da linguagem e podem ajudá-lo em seus projetos.
Você pode contratar freelancers ou uma empresa para desenvolver soluções abertas pro seu negócio e, por se tratar de padrões abertos, você tem total liberdade para mudar os profissionais ou empresas envolvidas no projeto – quem chega, começa no ponto em que o outro parou.
Ao escolher o PHP para desenvolver seu projeto, você pode ter a certeza de que vai conseguir suporte profissional sempre que necessitar.

Um grande banco de classes e funções, prontas para uso

… e totalmente livres de ter que pagar royalties.
O PHP é uma linguagem aberta o que tem inspirado pessoas a desenvolver e disponibilizar trabalho de qualidade feito para complementar ou se encaixar em qualquer projeto, de qualquer porte.
Você pode baixar da Internet pacotes de funções prontas que ajudam realizar as mais diversas tarefas. Você só precisa implementá-las em seu código, no lugar certo – ou seja, onde você quiser.
Isto causa um impacto considerável nos custos e no tempo para finalização de um projeto.

Frameworks prontos para usar

Mantendo o espírito do código aberto e da distribuição livre e irrestrita, há vários frameworks em PHP disponíveis que cuidam de funções comuns, como gestão de membros, suporte a administração, buscas, gestão de conteúdo etc. – o que deixa os programadores livres para focar no desenvolvimento do site, em vez de reinventar a roda com funções e objetos já existentes.
Para citar alguns, Cake PHP, Code Igniter e o Symphony estão entre os frameworks mais usados atualmente.

POSTS RELACIONADOS:

Conclusão

Chegamos ao fim da lista de 15 benefícios e vantagens de se usar o PHP como linguagem de desenvolvimento em um projeto.
Óbvio que a lista poderia ser mais extensa e também poderia ser alvo de algumas críticas – sinta-se livre para expressá-las nos comentários.
A propósito, o significado de PHP, inicialmente, era Personal Home-Page Language. Com o tempo, passou a ser PHP Hypertext Preprocessor
Você pode encontrar uma série de artigos sobre o PHP e programação neste site, se fizer a pesquisa, lá em cima, na caixa de busca (search).
Se o artigo lhe foi útil, a melhor forma de agradecer é compartilhar. 😉
Divirta-se!

Copie arquivos com o rsync

Vou mostrar, com alguns exemplos práticos, como o uso do rsync pode ajudar a manter o conteúdo de 2 diretórios (pastas) separados sincronizado – mesmo que estejam em computadores diferentes.
Comando rsync copia arquivos
O comando rsync faz transferências de arquivos entre máquinas, de maneira simplificada e automática e… você nem precisa ter privilégios administrativos para isto.

Alguns dos recursos do Rsync

  • é eficiente para copiar e sincronizar arquivos entre computadores remotos
  • comparado com outros programas, é mais rápido do que o scp – o rsync usa um protocolo que lhe permite atualizar apenas os arquivos que sofreram mudanças
  • consome menos banda, uma vez que só trabalha em cima das atualizações necessárias e usa compressão para transferir dados

Instalação do rsync

Até onde sei, o comando vem instalado por padrão nas várias distro Linux.
Usuários Windows podem fazer o download do rsync aqui.
Usuários do Redhat ou do SuSE, podem instalar o rsync com o seguinte comando:

sudo yum install rsync

Usuários Debian e Ubuntu, podem usar o apt-get:

sudo apt-get install rsync

Sintaxe do comando rsync

Basicamente, você vai rodar o rsync com algumas opções, indicar a origem e o destino da sincronização:

rsync options #origem #destino

Daqui pra frente veremos outros exemplos práticos com o comando rsync.

Como sincronizar dois diretórios locais com o rsync

Vamos usar estes dois como exemplo:

  • /home/Documentos, como origem e
  • /home/backup/Documentos, como destino.

Vou mostrar como copiar a sincronizar recursivamente os diretórios:

rsync -vhr /home/Documentos /home/backup

o comando vai criar, se não houver, uma pasta chamada /home/backup/Documentos e copiar para dentro dela todo o conteúdo da outra pasta. Ao final do processo deverá retornar um relatório semelhante a este:

sent 707.32M bytes  received 2.35K bytes  2.92M bytes/sec
total size is 827.60M  speedup is 1.17

Ao repetir o comando, o rsync irá comparar os arquivos em busca de diferenças, por que ele só irá atualizar os arquivos que foram modificados.

OPÇÕES COMUNS DO RSYNC
  • -v — ativa a verbosidade do comando, pra você poder acompanhar o que está acontecendo durante sua execução;
  • -r — ativa a recursividade, ou seja, copia subdiretórios também;
  • -h — human readable exibe as informações da execução do comando em um formato mais legível, convertendo valores de bytes para mega ou gigabytes onde for necessário para reduzir os tamanhos dos números e tornar o texto mais fácil de ler;
  • -z — comprime os dados, antes de transferir;
  • -a — liga o modo archive que permite a cópia recursiva de arquivos, preservando links simbólicos, permissões de arquivos e timestamps.

Como copiar e sincronizar um arquivo local via rsync

Neste exemplo, vamos sincronizar um único arquivo, em um computador local, entre dois diretórios diferentes:

rsync -zvh Docs/mysql_storage.html /backup/Docs/mysql_storage.html

obtendo como resultado:

mysql_storage.html
sent 1.68K bytes  received 31 bytes  3.43K bytes/sec
total size is 3.38K  speedup is 1.97

Como sincronizar um diretório local com um remoto via SSH

Chegamos a um dos pontos fortes do rsync.
No exemplo que segue, vou copiar os arquivos do diretório /home, no servidor remoto remoto.com.br para um diretório local /backup. O nome de usuário, no exemplo, é justincase:

rsync -avz -e ssh justincase@remoto.com.br:/home /backup

Faça o teste com os seus próprios valores e veja se funciona.

Como impedir o Android de atualizar aplicativos automaticamente

Um celular recém adquirido vem com uma série de aplicativos pré-instalados.
Contudo, nem todos são desejáveis pelo dono. Ainda assim, permanecem lá, desafiando a sua boa vontade.

A irritação pode aumentar se houver pouco espaço no aparelho, somado ao fato de que alguns destes aplicativos começam a “inchar”, à medida em que vão sendo atualizados automaticamente pelo sistema — mesmo que você não faça uso deles.
Usualmente, são chamados de fatware, bloatware, crapware, crudware entre outros nomes.
Para ser sucinto, alguns destes softwares são de má qualidade, de tamanho desproporcional à sua utilidade (ocupam muito espaço e não servem para muito coisa) e, o pior de tudo, não podem ser desinstalados, sem aplicar o rooting no seu aparelho.

LEIA MAIS

Configurações: como parar as atualizações de aplicativos

Independente de você gostar de usar um aplicativo, frequentemente vai ver que ele é atualizado pelo sistema.
Atualização não é uma coisa ruim. Na verdade, manter os aplicativos atualizados é importante para a segurança do seu sistema.
Para desativar a atualização automática e passar a fazê-la manualmente,
Abra o menu de configurações dentro do aplicativo Play Store.

  • Ative a opção de Notificações (costuma ser a primeira) para receber avisos de que há versões novas dos aplicativos já instalados – o aplicativo só vai avisar;
  • Clique em Atualizar aplicativos automaticamente e selecione a primeira opção: Não atualizar aplicativos automaticamente
  • Configuração android - atualizar aplicativos

Desta forma, você será sempre avisado de que há atualizações, mas terá que fazê-las manualmente.

LEITURAS RELACIONADAS

Conclusão

Vale falar um pouco mais sobre as duas possibilidades de atualização: automática e manual.

  • A atualização manual permite que você leia sobre as novas versões dos aplicativos, na Internet ou nas revistas especializadas antes de decidir aplicá-las ou não.
    Não é incomum desenvolvedores lançarem novas versões de aplicativos com efeitos colaterais.
    Estar informado e poder decidir, evita aborrecimentos, com toda certeza.
  • Por outro lado, fazer uso de aplicativos sempre atualizados faz parte das boas práticas de segurança.
    Automatizar o processo pode evitar que, por ter esquecido, você continue usando uma versão defeituosa de um aplicativo — às vezes com falhas graves de segurança, já solucionadas nas versões mais novas.
  • Se você se incomoda com as notificações de atualização de aplicativos que você não usa, pode ir além, desativando-os ou removendo-os (mesmo que apenas parcialmente) — Leia Como desativar aplicativos no Android.

O equilíbrio é a chave, aqui.
Se optar por deixar muitos aplicativos para atualizar manualmente, você poderá se sentir incomodado(a) com um possível excesso de notificações.
Então estabeleça um limite razoável — eu sugiro um número máximo entre 5 e 10 apps, para ser atualizados manualmente.
Veja o que é melhor para você.

O aplicativo parou de responder? Use xkill para matar.

Relacionado ao comando kill, o xkill é usado no ambiente gráfico para matar janelas ou aplicativos que não estejam mais respondendo.
Pelos mesmos motivos expostos aqui, não deve ser usado o tempo todo. Você pode perder informações e tornar a sua sessão instável, ao abusar do uso deste método para terminar programas.

POSTS RELACIONADOS

Como fechar programas no ambiente gráfico do Linux

Quando um programa para de responder, no ambiente gráfico, você ainda tem opções para evitar a perda dos dados que estavam sob o trato do aplicativo.
Se o mouse ainda não parou de responder, tente fechar o aplicativo pelo próprio menu do sistema:

  • clique com o botão direito do mouse sobre a aba referente à janela do programa (na barra de tarefas);
  • selecione a opção Fechar F4;
  • confirme que você deseja terminar o programa
  • Aviso do sistema para fechar programa que parou de responder
    Clique para ampliar.

Só para constar: este é o jeito certo de fechar aplicativos que pararam de responder. Aguarde, pacientemente, enquanto o sistema fecha a janela do aplicativo.
Se isto não deu certo, use o xkill

Como usar o xkill para fechar aplicativos

Desenvolvido por Jim Fulton e pela programadora Dana Chee, o xkill, permite fechar arbitrariamente a conexão de um programa com o servidor X.
Se o xkill não for encontrado no menu do sistema, você pode iniciá-lo a partir de um terminal:

xkill

ao iniciar, o xkill transforma o cursor do mouse em uma “caveirinha“. Ao clicar dentro de qualquer janela, a caveirinha vai “tentar matar” o aplicativo que estiver rodando ali.
Se você se arrepender, aperte a tecla ESC no seu teclado para cancelar o “assassinato”.

Usar o xkill é recomendável?

Não. Não é.
Use-o apenas como último recurso.
Entre os resultados indesejados, você pode tornar o seu sistema instável e perder os dados que estavam dentro do aplicativo fechado.
Além disto, o xkill não garante o fechamento do aplicativo — a única coisa que ele se propõe é fechar sua conexão com o gerenciador gráfico de janelas.
Embora a maioria dos aplicativos costume abortar quando a sua conexão com o X é fechada, alguns podem optar por continuar rodando, em background.

LEITURA SUGERIDA

Como matar programas no Linux

Da série de comandos tradicionais do universo Linux e Unix, o comando kill permite interromper processos arbitrariamente.
Uma definição simplificada de processo é de que se trata de um programa ou uma tarefa em execução
É um sistema UNIX! Eu conheço isto! Kill
Ao iniciar, cada processo recebe uma identificação numérica única, atribuída pelo sistema — chama-se PID, Process IDentification.
Para “matar” um programa em execução, você precisa saber o PID dele (no final do artigo, vou mostrar como matar um processo sem saber seu PID).

POSTS RELACIONADOS

A sintaxe do comando kill

Apesar do nome, o comando kill serve para muito mais do que apenas matar processos.
Sua função é enviar sinais para processos e alguns destes não tem absolutamente qualquer coisa a ver com “morte”.
Sua execução segue, portanto, a seguinte forma:


kill -s SINAL PID

Nos exemplos, abaixo, vou mostrar outras formas de usar o comando.

Como encontrar o PID de um processo específico

O comando ps aux pode mostrar uma lista bem extensa de processos em execução, o que pode dificultar a busca.
É aqui que entra o comando grep, um velho conhecido da gente.
Para exemplificar, vou rodar o ftp em background (&) e determinar o seu PID com o grep em conjunto com o ps:


ftp &

[1] 2983

ps aux | grep ftp

proftpd   1242  0.0  0.1  11996  2172 ?        Ss   10:01   0:00 proftpd: (accepting connections)              
1000      2983  0.0  0.0   5212  1012 pts/5    T    11:51   0:00 ftp
1000      2985  0.0  0.0   4724   836 pts/5    S+   11:51   0:00 grep --color=auto ftp
[1]+  Parado                  ftp

Neste exemplo, o programa ftp tem o PID 2983. No seu sistema o PID será diferente. Verifique.

O comando kill, em exemplos

Uma vez que você já sabe como determinar o PID dos processos, já pode entender como usar esta informação em conjunto com o kill.
Há dois sinais básicos para indicar que se deseja interromper a execução de um processo:

  • SIGTERM(15) — que requisita educadamente a interrupção de um processo. Cabe a este aceitar ou ignorar o sinal. Se aceitar, ele finaliza sua própria execução, graciosamente e gravando o que precisa ser gravado. Há um sinal semelhante a ele, chamado SIGINT. Cada sinal atende por um número. O do SIGTERM é 15.
  • SIGKILL(9) — envia uma requisição ao processo para que este seja terminado imediatamente. Ele não pode ser ignorado e é sequer analisado pelo processo, que é interrompido incontinenti. O número deste sinal é 9.

Vamos ver como aplicá-los:
Podemos enviar um SIGTERM ao processo 2983, de 4 formas diferentes:


kill 2983
kill -s TERM 2983
kill -TERM 2983

ou indicando o número do sinal:


kill -15 2983

Para enviar um SIGKILL, use uma destas 3 opções:


kill -9 2983
kill -s KILL 2983
kill -KILL 2983

Espero ter deixado claro, como terminar um processo via terminal, no Linux. O ambiente gráfico tem um comando similar, chamado xkill, do qual falaremos em outro artigo.

POSTS RELACIONADOS

Como finalizar um programa sem conhecer o seu PID

Há casos em que um processo abre vários outros processos – em que um programa abre várias outras instâncias de si mesmo. Quando o usuário dá um ps no sistema, vê uma quantidade muito grande de PIDs para fechar.
Veja a figura, abaixo, onde se pode ver uma certa quantidade de processos do chromium-browser abertos.
comando ps aux linux
É possível fechá-los todos com o killall. Veja como:


killall chromium-browser

Você pode repassar o número de um sinal para o comando, assim:


killall -9 chromium-browser

Fácil, não é?