Skip to content

Posts tagged ‘PHP’

3
Mar

PHP 5.4.0 Release Announcement

The PHP devel­op­ment team is proud to announce the imme­di­ate avail­abil­ity of PHP 5.4.0. This release is a major leap for­ward in the 5.x series, and includes a large num­ber of new fea­tures and bug fixes.

The key fea­tures of PHP 5.4.0 include:

  • New lan­guage syn­tax includ­ing Traitsshort­ened array syn­tax and more
  • Improved per­for­mance and reduced mem­ory consumption
  • Sup­port for multi­byte lan­guages now avail­able in all builds of PHP at the flip of a run­time switch
  • Built-in web­server in CLI mode to sim­plify devel­op­ment work­flows and testing
  • Cleaner code base thanks to the removal of mul­ti­ple dep­re­cated lan­guage features
  • Many more improve­ments and fixes

Changes that affect compatibility:

  check the new stuff !!!.

14
Jul

UTF8 Enconde solving

You can solve, the utf8 prob­lem whit accents.

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

3
Mar

php metodo constructor

O método con­stru­tor de uma classe sem­pre é exe­cu­tando quando um objeto da classe é instan­ci­ado. É um tipo espe­cial de função do PHP. Nor­mal­mente o pro­gra­mador uti­liza o método con­stru­tor para ini­cializar os atrib­u­tos de um objeto, como por exem­plo: Esta­b­ele­cer conexão com um banco de dados, aber­tura de um arquivo que será uti­lizado para escrita de log, etc.

O que você deve saber sobre o método con­stru­tor:

  • O método con­stru­tor define os val­ores ini­ci­ais dos atrib­u­tos de um objeto;
  • Con­stru­tores são funções, logo aceitam pas­sagem de parâmetros;
  • Difer­ente de out­ras lin­gua­gens o PHP aceita ape­nas um construtor.

Caso o pro­gra­mador não defina um método con­stru­tor para a classe, auto­mati­ca­mente ao instan­ciar um objeto seus atrib­u­tos serão ini­cial­iza­dos com o valor NULL.

Antes da ver­são PHP5 por con­venção o con­stru­tor era um método que tinha o mesmo nome da classe. A par­tir da ver­são 5 do PHP podemos definir o método con­stru­tor da forma antiga ou usar o método a seguir (atenção para os dois under­score):

__construct()

Sem­pre que você quiser fazer alguma coisa na ini­cial­iza­ção da classe, terá que usar esse método. O método con­stru­tor do PHP é exe­cu­tado 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 uti­lizar a função (ou método) __construct.

Pas­sando parâmet­ros para o método construtor

No momento da cri­ação do nosso objeto podemos pas­sar val­ores fixos, e tam­bém variáveis.

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

Agora ao criar nosso objeto deve­mos pas­sar como parâmetro o nome da pes­soa. Veja o exemplo:

$pessoa=new Pessoa('Antenor');

Uti­lizando o método con­stru­tor podemos pas­sar mais de um parâmetro:

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

Nesse exem­plo pas­samos como parâmetro o nome e a idade da pes­soa no momento que instan­ci­amos nosso objeto.

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

Método destru­tor

Ao falar­mos de método con­stru­tor não podemos deixar de falar, mesmo que breve­mente, sobre o método destru­tor do PHP.

O método __destruct() fun­ciona como um final­izador e, é exe­cu­tado ao finalizarmos um objeto, ou seja, quando o objeto é desa­lo­cado da memória, quando atribuí­mos NULL ao objeto, quando usamos a função unset() no objeto, ou tam­bém quando o pro­grama é fechado.

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

Toda classe tem duas funções espe­ci­ais, e são elas, con­stru­tor e destru­idor. Mesmo se você não declarar explici­ta­mente e defini-las, elas existem.

Fonte:kadunew.com

3
Jan

Diferença Entre GETPOST

Há muito tempo que tra­balho com GET e POST e sabia o seu fun­ciona­mento mas nunca soube explicar bem as suas difer­enças até sen­tir a neces­si­dade de procu­rar uma boa expli­cação como a que vão ver em seguida.

Difer­ença entre GETPOST

O método GET é usado quando quer­e­mos pesquisar ou pas­sar 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 “?” é con­sid­er­ado Query String e pode ser aces­sado na página atual usando a com­bi­nação nome=valor, onde nome é “pro­duto” e valor é “543″. Esta forma de pas­sar infor­mações de uma página a outra é a preferida em sites de busca. Se mais de um par nome=valor pre­cisar ser fornecido, o sim­bolo “&” é usado na sep­a­ração. Veja:

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

O método POST é usado quando quer­e­mos enviar dados a serem grava­dos em um banco de dados ou uma pesquisa cujos dados sejam grandes o sufi­ciente para não caber na URL da página. Veja um for­mulá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 rece­berá um par com­posto pelo nome do campo “pro­duto” e o valor infor­mado pelo usuário.

Quando estiver usando o método POST tenha a certeza de definir nomes para os cam­pos do for­mulário (pro­priedade name). Tais nomes não devem con­ter espaços ou car­ac­teres espe­ci­ais. Em out­ras dicas você apren­derá como obter os dados forneci­dos a uma página PHP usando GET ou POST.

Fonte:Diego Galvão

3
Dez

Codigniter + Extjs

Codig­niter

Apre­sen­tação:

Tuto­ri­ais

inte­grar PEAR com codiginiter

CRUD com IGNITEREXTJS

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

Tuto­ri­ais

PHP

2
Dez

web development

[icons]

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

[php frame­work]

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

[gito­ri­ous]

http://gitorious.org/

Extjs 4

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

[GIT]

http://git-scm.com/tools

[Dire­trizes 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 é pre­ciso opti­mizar cada vez mais os recur­sos, acon­tece o mesmo com os websites.

então deixo aqui algu­mas fer­ra­men­tas ú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

Fer­ra­men­tas para tes­tar 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

Com­pressão de imagens

http://www.punypng.com/

27
Nov

php-sql-injection

Como evi­tar o sql injection.

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

Classes Con­t­role de acessos

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

Gerando eti­que­tas 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, encon­tra o dragão. Desen­volve um frame­work para aniquil­a­mento
de dragões em múlti­plas camadas.
Escreve vários arti­gos sobre o frame­work, 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 com­po­nentes necessários para lev­an­tar a espada são pro­pri­etários e
caros. Out­ros tan­tos com­po­nentes pro­pri­etários para achar a
local­iza­ção do dragão, e mais out­ros tan­tos a local­iza­ção da princesa.
Chama então seu amigo pro­gra­mador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete,
degola o dragão. Encon­tra a princesa, mas a ignora para ver os últi­mos
check­ins no cvs do
ker­nel do linux.

C++
Cria um canivete básico e vai jun­tando fun­cional­i­dades até ter uma
espada com­plexa que ape­nas ele con­segue enten­der … Mata o dragão, mas
trava no meio da ponte por causa dos mem­ory leaks.

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

Pas­cal
Se prepara durante 10 anos para criar um sis­tema de aniquil­a­mento de
dragão… Chegando lá desco­bre que o pro­grama só aceita lagar­tixas como
entrada.

VB
Monta uma arma de destru­ição de dragões a par­tir de vários
com­po­nentes, parte pro pau pra cima do dragão e, na hora H, desco­bre
que a espada só fun­ciona
durante noites chuvosas…

PL/SQL
Coleta dados de out­ros mata­dores de dragão, cria tabelas com N
rela­ciona­men­tos de com­plex­i­dade ternária, dados em 3 dimen­sões, OLAP,
demora 15 anos para proces­sar a infor­mação. Enquanto isso a princesa
virou lésbica.

PHP
Pesquisa ban­cos de scripts e acha as classes de con­strução de espada,
manu­seio da espada, local­iza­çã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
gam­biar­ras, o dragão um dia vai ressus­ci­tar e comer os dois.

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

Smalltalk
Chega, anal­isa o dragão e a princesa, vira as costas e vai emb­ora,
pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enx­uto, 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
lem­bra como usá-la.

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

For­tran
Chega desen­volve uma solução com 45000 lin­has de código, mata o dragão
vai ao encon­tro da princesa …
mas esta o chama de tiuz­inho e sai cor­rendo atrás do pro­gra­mador java
que era ele­gante e ficou rico.

FOX PRO
Desen­volve um sis­tema para matar o dragão, por fora é bonit­inho e
fun­ciona, mas por den­tro está tudo remen­dado. Quando ele vai exe­cu­tar
o aniquilador de
dragões lem­bra que esque­ceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que car­rega um array de code­blocks para insul­tar o
dragão, can­tar a princesa, car­regar a espada para memória, moer o
dragão, limpar a sujeira, las­car leite con­den­sado com moran­gos na
princesa gos­tosa, transar com a princesa, tomar banho, ligar o carro,
colo­car 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 doc­u­men­tação desen­volvida sobre
o processo de se matar um dragão genérico, desen­volve um flux­o­grama
super com­plexo para lib­er­tar a princesa e se casar com ela, con­vence o
dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao
exe­cu­tar o processo ele estima o esforço e o tamanho do estrago que
isso vai causar, con­segue o aval do papa, do Buda e do Raul Seixas
para o plano, e então com­pra 2 bom­bas nucleares, 45 can­hões, 1 porta
aviões, con­trata 300 homens arma­dos até os dentes, quando
na ver­dade neces­si­taria ape­nas da espada que estava na sua mão o tempo
todo.

Bad Behavior has blocked 56 access attempts in the last 7 days.