Skip to content

Posts tagged ‘PHP’

3
Mar

PHP 5.4.0 Release Announcement

The PHP development team is proud to announce the immediate availability of PHP 5.4.0. This release is a major leap forward in the 5.x series, and includes a large number of new features and bug fixes.

The key features of PHP 5.4.0 include:

  • New language syntax including Traitsshortened array syntax and more
  • Improved performance and reduced memory consumption
  • Support for multibyte languages now available in all builds of PHP at the flip of a runtime switch
  • Built-in webserver in CLI mode to simplify development workflows and testing
  • Cleaner code base thanks to the removal of multiple deprecated language features
  • Many more improvements and fixes

Changes that affect compatibility:

  check the new stuff !!!.

14
Jul

UTF8 Enconde solving

You can solve, the utf8 problem whit accents.

http://rubsphp.blogspot.com/2011/07/problemas-dom-charset-nunca-mais.html#PopularPosts1

3
Mar

php metodo constructor

O método construtor de uma classe sempre é executando quando um objeto da classe é instanciado. É um tipo especial de função do PHP. Normalmente o programador utiliza o método construtor para inicializar os atributos de um objeto, como por exemplo: Estabelecer conexão com um banco de dados, abertura de um arquivo que será utilizado para escrita de log, etc.

O que você deve saber sobre o método construtor:

  • O método construtor define os valores iniciais dos atributos de um objeto;
  • Construtores são funções, logo aceitam passagem de parâmetros;
  • Diferente de outras linguagens o PHP aceita apenas um construtor.

Caso o programador não defina um método construtor para a classe, automaticamente ao instanciar um objeto seus atributos serão inicializados com o valor NULL.

Antes da versão PHP5 por convenção o construtor era um método que tinha o mesmo nome da classe. A partir da versão 5 do PHP podemos definir o método construtor da forma antiga ou usar o método a seguir (atenção para os dois underscore):

__construct()

Sempre que você quiser fazer alguma coisa na inicialização da classe, terá que usar esse método. O método construtor do PHP é executado logo que a linha abaixo é executada.

$pessoa1=new Pessoa();

Abaixo a forma antiga e a forma mais atual de declarar o método construtor:

class Pessoa
{
   function Pessoa() // Versão do PHP 4 e opcional para o PHP 5
  {
     echo "Olá, tudo bem com você";
   }
  function __construct() // PHP5
 {
   echo "Olá, tudo bem com você";
 }
}

No artigo vou utilizar a função (ou método) __construct.

Passando parâmetros para o método construtor

No momento da criação do nosso objeto podemos passar valores fixos, e também variáveis.

class Pessoa
{
  function __construct($name)
 {
   echo "Olá ".$name." Tudo bem?";
 }
}

Agora ao criar nosso objeto devemos passar como parâmetro o nome da pessoa. Veja o exemplo:

$pessoa=new Pessoa('Antenor');

Utilizando o método construtor podemos passar mais de um parâmetro:

class Pessoa
{
  function __construct($nome, $idade)
 {
   echo "A pessoa se chama ".$nome."e sua idade é: ".$idade;
 }
}

Nesse exemplo passamos como parâmetro o nome e a idade da pessoa no momento que instanciamos nosso objeto.

$pessoa1=new Pessoa('Antenor',’26’);

Método destrutor

Ao falarmos de método construtor não podemos deixar de falar, mesmo que brevemente, sobre o método destrutor do PHP.

O método __destruct() funciona como um finalizador e, é executado ao finalizarmos um objeto, ou seja, quando o objeto é desalocado da memória, quando atribuímos NULL ao objeto, quando usamos a função unset() no objeto, ou também quando o programa é fechado.

function __destruct()
{
echo “Objeto finalizado”;
}

Toda classe tem duas funções especiais, e são elas, construtor e destruidor. Mesmo se você não declarar explicitamente e defini-las, elas existem.

Fonte:kadunew.com

3
Jan

Diferença Entre GET e POST

Há muito tempo que trabalho com GET e POST e sabia o seu funcionamento mas nunca soube explicar bem as suas diferenças até sentir a necessidade de procurar uma boa explicação como a que vão ver em seguida.

Diferença entre GET e POST

O método GET é usado quando queremos pesquisar ou passar dados para uma outra página usando a URL da página. Veja um exemplo:

http://www.site.com.br/busca.php?produto=543

Tudo que é inserido depois do “?” é considerado Query String e pode ser acessado na página atual usando a combinação nome=valor, onde nome é “produto” e valor é “543″. Esta forma de passar informações de uma página a outra é a preferida em sites de busca. Se mais de um par nome=valor precisar ser fornecido, o simbolo “&” é usado na separação. Veja:

http://www...br/busca.php?produto=543&tipo=3

O método POST é usado quando queremos enviar dados a serem gravados em um banco de dados ou uma pesquisa cujos dados sejam grandes o suficiente para não caber na URL da página. Veja um formulário HTML que usa o método POST para enviar dados a uma página:

<form name="teste" method="post"
  action="pesquisar.php">
  <input type="text" name="produto">
</form>

Aqui a página pesquisar.php receberá um par composto pelo nome do campo “produto” e o valor informado pelo usuário.

Quando estiver usando o método POST tenha a certeza de definir nomes para os campos do formulário (propriedade name). Tais nomes não devem conter espaços ou caracteres especiais. Em outras dicas você aprenderá como obter os dados fornecidos a uma página PHP usando GET ou POST.

Fonte:Diego Galvão

3
Dez

Codigniter + Extjs

Codigniter

Apresentação:

Tutoriais

integrar PEAR com codiginiter

CRUD com IGNITER e EXTJS

http://superdit.com/2010/07/10/crud-using-codeigniter-and-extjs-grid-part-1/

PHP MVC em camadas

http://www.slideshare.net/otaviocx/desenvolvimento-em-trs-camadas-com-php-5-mvc-e-ajax-presentation

ExtJS

Tutoriais

PHP

2
Dez

web development

[icons]

http://www.templates.com/blog/40-free-website-usability-icon-sets/

[php framework]

http://www.yiiframework.com/doc/api/1.1/CForm

http://codeigniter.com/

[GIT]

http://code.google.com/p/msysgit/downloads/list

[github]

https://github.com/plans

[gitorious]

http://gitorious.org/

Extjs 4

http://loianegroner.com/2010/12/ext-js-4-preview/

[GIT]

http://git-scm.com/tools

[Diretrizes para webmasters

http://imasters.com.br/artigo/14669/cms/crud_com_seguranca_no_codeigniter/

29
Nov

Speed your site mod deflat

Nos dias de hoje é preciso optimizar cada vez mais os recursos, acontece o mesmo com os websites.

então deixo aqui algumas ferramentas úteis que vão deixar o seu site 4 x mais rápido.

dicas

http://developer.yahoo.com/performance/rules.html

http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/

http://weblouca.com/Artigos/optimize-o-seu-javascript

Ferramentas para testar o seu website

http://www.webpagetest.org/

http://www.seositecheckup.com/#red1

http://www.gidnetwork.com/tools/gzip-test.php

http://www.ircache.net/cgi-bin/cacheability.py

YSLOW

Compressão de imagens

http://www.punypng.com/

27
Nov

php-sql-injection

Como evitar o sql injection.

http://www.portalphp.org/artigos/seguranca-no-php-sql-injection

Classes Controle de acessos

http://www.portalphp.org/artigos/modificadores-de-acesso

Gerando etiquetas FPDF

http://jf.eti.br/etiquetas-com-fpdf-em-php/

27
Nov

Perfomance em PHP

1
Out

Como os programadores matam os dragões…

Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento
de dragões em múltiplas camadas.
Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é
comido pelo réptil.

ASP
Os componentes necessários para levantar a espada são proprietários e
caros. Outros tantos componentes proprietários para achar a
localização do dragão, e mais outros tantos a localização da princesa.
Chama então seu amigo programador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete,
degola o dragão. Encontra a princesa, mas a ignora para ver os últimos
checkins no cvs do
kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma
espada complexa que apenas ele consegue entender … Mata o dragão, mas
trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragão, pensa que tá velho demais para conseguir matar
um bicho daquele tamanho e pegar a princesa e, então, vai embora de
volta ao seu
mundinho.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de
dragão… Chegando lá descobre que o programa só aceita lagartixas como
entrada.

VB
Monta uma arma de destruição de dragões a partir de vários
componentes, parte pro pau pra cima do dragão e, na hora H, descobre
que a espada só funciona
durante noites chuvosas…

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N
relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP,
demora 15 anos para processar a informação. Enquanto isso a princesa
virou lésbica.

PHP
Pesquisa bancos de scripts e acha as classes de construção de espada,
manuseio da espada, localização da princesa e dragão. Remenda tudo e
coloca umas firúlas próprias.
Mata o dragão e casa com a princesa. Como tudo foi feito com
gambiarras, o dragão um dia vai ressuscitar e comer os dois.

Ruby
Chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai
enfrentar o dragão mostra um videozinho dele matando um dragão … O
dragão come ele de tédio.

Smalltalk
Chega, analisa o dragão e a princesa, vira as costas e vai embora,
pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enxuto, porém troca um A por D,
mata a princesa e transa com o dragão.

Shell
Cria uma arma poderosa para matar os dragões, mas na hora H, não se
lembra como usá-la.

Shell (2)
O cara chega no dragão com um script de 2 linhas que mata, corta,
stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele
roda, o script aumenta,
engorda, enfurece e coloca álcool no fogo do dragão.

Fortran
Chega desenvolve uma solução com 45000 linhas de código, mata o dragão
vai ao encontro da princesa …
mas esta o chama de tiuzinho e sai correndo atrás do programador java
que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bonitinho e
funciona, mas por dentro está tudo remendado. Quando ele vai executar
o aniquilador de
dragões lembra que esqueceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o
dragão, cantar a princesa, carregar a espada para memória, moer o
dragão, limpar a sujeira, lascar leite condensado com morangos na
princesa gostosa, transar com a princesa, tomar banho, ligar o carro,
colocar gasolina e voltar pra casa. Na hora de
rodar recebe um “Bound Error: Array Access” e o dragão come ele com
farinha.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre
o processo de se matar um dragão genérico, desenvolve um fluxograma
super complexo para libertar a princesa e se casar com ela, convence o
dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao
executar o processo ele estima o esforço e o tamanho do estrago que
isso vai causar, consegue o aval do papa, do Buda e do Raul Seixas
para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta
aviões, contrata 300 homens armados até os dentes, quando
na verdade necessitaria apenas da espada que estava na sua mão o tempo
todo.