UTF8 Enconde solving
You can solve, the utf8 problem whit accents.
http://rubsphp.blogspot.com/2011/07/problemas-dom-charset-nunca-mais.html#PopularPosts1
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
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
Codigniter + Extjs
Codigniter
Apresentação:
Tutoriais
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
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
[GIT]
http://code.google.com/p/msysgit/downloads/list
[github]
[gitorious]
Extjs 4
http://loianegroner.com/2010/12/ext-js-4-preview/
[GIT]
[Diretrizes para webmasters
http://www.google.com/support/webmasters/bin/answer.py?hl=br&answer=35769#1
http://imasters.com.br/artigo/14669/cms/crud_com_seguranca_no_codeigniter/
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.seositecheckup.com/#red1
http://www.gidnetwork.com/tools/gzip-test.php
http://www.ircache.net/cgi-bin/cacheability.py
YSLOW
Compressão de imagens
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
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.


