Postado por Carlos Fernando Sylverio | Postado em Programação | Postado em 23-08-2009
0
CakePHP é um framework escrito em PHP, que possibilita o desenvolvimento de aplicações (PHP) web robustas rapidamente sem perder flexibilidade.
O CakePHP é Open Source e fornece uma arquitetura extensível para desenvolvimento, manutenção, e distribuição de aplicações por meio de patterns conhecidos como ActiveRecord, Association Data Mapping, Front Controller, MVC (Model-View-Controller) e ORM.
Entendendo o MVC
O CakePHP segue o design pattern MVC, que separa sua aplicação em três camadas principais?
1. Model representa os dados da aplicação.
2. View representa o modelo de apresentação dos dados.
3. Controller recebe e encaminha requisições feitas pelo cliente.

1.Cliente (browser) faz requisição para o servidor web;
2.O expedidor (dispacher) verifica a URL e encaminha a requisição para o controller correto.
3.O controller realiza a específica lógica da aplicação.
4.O controller utiliza o model para se ter acesso aos dados da aplicação.
5.Depois os dados o controller os encaminha para view. A view pega os dados e os prepara no formato de apresentação específico para o cliente.
6.Uma vez criado a apresentação, este é retornado para o browser.
Observação:
- A camada de Model representa os dados da aplicação, não é representação de um banco de dados ou entidades da aplicação, ela poderia estar acessando um WebService, por exemplo, para obter os dados da aplicação, isolando assim a camada de apresentação com a camada de negócio.
- Usualmente as views no CakePHP são no formato HTML, mas podem ser PDF, XML, JSON, isso depende mais qual será o propósito de sua utilização.
Estrutura do CakePHP
Alem das classes de Model, View e Controller o CakePHP também possui algumas características como classes de Components, Behaviors e Helpers que auxiliam o desenvolvimento.
Controller – são equipados com callbacks, que possibilita inserir operações no núcleo do CakePHP;
Component – compartilha a lógica entre controllers;
Helper – compartilha a lógica entre as views;
Behaviors – adiciona funcionalidade entre models;
DataSources – abstrações que permitem os models manipularem diferentes tipos de dados consistente;
Convenções
O CakePHP possui já um estilo de programação que pode ser acompanhado em book.cakephp.org
Segue uma lista básica de estilo:
| nomes de arquivo |
devem ser sublinhados; |
| nome de classes |
devem ser CamelCase; |
| nome de controller |
devem estar no plural e ser CamelCase; |
|
deve ter uma função chamada índex(); |
|
colocando um sublinhado na frente da função ela será disponível somente para uso interno, não ficando disponível para web por meio do dispatcher. |
| nome de models |
devem ser no singular e ser CamelCase; |
| nome de URL |
o nome dos controller devem ser no plural e lowerCamelCase, porem curtos. Exemplo: RedCarsController ficaria redCars; |
Referências
The Official CakePHP website
The Cookbook
Wikipedia
Até mais
Postado por Carlos Fernando Sylverio | Postado em Programação | Postado em 21-08-2009
1
Recentemente precisei desenvolver uma aplicação (Java Application) que faz uma requisição http a um servidor externo. E tive muita dificuldade de encontrar bons exemplos sobre o assunto.
Após muita pesquisa e um pouco de estudo pude adquirir algum conhecimento, que será apresentado a seguir neste post.
Inicialmente a API do Java nos disponibiliza algumas classes que nos possibilita criar um servidor e um cliente TCP/IP, abrir uma conexão TCP/IP, ler de uma conexão, escrever para uma conexão. Essas classes são:
- Socket e ServerSocket
- InetAddress
- URL
Todas presente no pacote java.net
Abaixo segue uma exemplo de utilização da classe URL, para se obter o conteúdo de página armazenada em uma servidor web.
A url acessada pela aplicação estava em um servidor local. Mas é possível acessar o conteúdo de qualquer servidor na internet.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
public class TesteComunicacao {
/**
*
* @param args
* @throws MalformedURLException
* @throws IOException
*/
public static void main(String[] args)
throws MalformedURLException, IOException {
try{
// representa um Uniform Resource Locator,
// um ponteiro para um "recurso" na World Wide Web.
URL url = new URL( "http://localhost/index.html" );
System.out.println( "** Tipo de objeto retornado **" );
System.out.println( url.getContent().getClass().getCanonicalName() );
System.out.println( "\n** alguns métodos da classe URL **" );
System.out.println( "Número da porta padrão do protocolo:" + url.getDefaultPort() );
System.out.println( "Nome do arquivo:" + url.getFile() );
System.out.println( "Nome do host:" + url.getHost() );
System.out.println( "Parte do caminha:" + url.getPath() );
System.out.println( "Número da porta:" + url.getPort() );
System.out.println( "Nome do protocolo:" + url.getProtocol() );
System.out.println( "Parte da consulta:" + url.getQuery() );
System.out.println( "Ancora (referencia da URL):" + url.getRef() );
System.out.println( "userInfo da URL:" + url.getUserInfo() );
System.out.println( "Número de indexação de um hash table:" + url.hashCode() );
System.out.println( "Representação da url:" + url.toExternalForm() );
System.out.println( "Representação da url:" + url.toString() );
// cria um stream de entrada do conteúdo
InputStreamReader inputReader = new InputStreamReader( url.openStream() );
BufferedReader bufferedReader = new BufferedReader( inputReader );
System.out.println( "\n** Conteúdo do recurso web **" );
String linha = "";
while ( (linha = bufferedReader.readLine()) != null){
System.out.println(linha);
}
} catch (Exception e) {
System.out.println( e.getMessage() );
}
}
}
Resultado:
** Tipo de objeto retornado **
java.util.zip.GZIPInputStream
** alguns métodos da classe URL **
Número da porta padrão do protocolo:80
Nome do arquivo:/index.html
Nome do host:localhost
Parte do caminha:/index.html
Número da porta:-1
Nome do protocolo:http
Parte da consulta:null
Ancora (referencia da URL):null
userInfo da URL:null
Número de indexação de um hash table:942787792
Representação da url:http://localhost/index.html
Representação da url:http://localhost/index.html
** Conteúdo do recurso web **
<html><body><h1>It works!</h1></body></html>
Até mais
Postado por Carlos Fernando Sylverio | Postado em Programação | Postado em 20-08-2009
0
PHP é uma linguagem de script Open Source de uso geral, muito utilizada para aplicações Web.

Suas principais características são:
- Criação de aplicações dinâmicas;
- Código PHP é executado do lado servidor;
- Interação com banco de dados sem exposição de código para o cliente;
- Possibilidade de embutir código dentro do HTML;
- Arquivos PHP são tipos texto (ASCII) e podem ser escritos em qualquer editor de texto;
- Compatibilidade com diversos Sistemas Operacionais (Windows, Linux, Unix, Mac OS, e outros);
- Suportado por diversos servidores Web (Apache, IIS, e outros), podendo ser configurado como módulo ou como um CGI comum.
O que pode ser feito?
Basicamente, qualquer coisa como criar e coletar dados de um formulário, gerar páginas dinâmicas ou enviar e receber cookies.
Segue um link para o manual web do PHP. Nele há um suporte desde a sintaxe básica do PHP até a instalação e configuração de um servidor PHP.
Referência
Manual PHP
Beginning PHP5 and MySQL5, W Jason Gilmore
Até mais
Postado por Carlos Fernando Sylverio | Postado em Tecnologia | Postado em 20-08-2009
0
Olá,
Só para complementar os últimos post. Segue 2 links interessantes de Rewriting que podem ser muito úteis.
URL Rewriting: Criando URLs competitivas!
URL Rewriting: no IIS com ASP, ASP.NET ou PHP
Até mais
Postado por Carlos Fernando Sylverio | Postado em Tecnologia | Postado em 10-08-2009
0
Muita aplicação para o IIS possui um conceito nativo de multi-threaded. Porem algumas aplicações escritas para Linux e não possuem mult-threaded. Apesar de o PHP ser mult-threaded, muitas de suas extensões não são. Exigindo assim um pedido concomitante para garantir operar confiávelmente. Isso obriga a utilização de CGI (Common Gateway Interface) e resulta em baixo desempenho na plataforma Windowns.
O FastCGI ajuda neste tipo de aplicações, para conseguir um melhor desempenho do Windows durante o CGI. FastCGI é um extensão para o IIS 6.0 que oferece suporte para hospedar e executar aplicativos ativos FastCGI em IIS com alto desempenho e confiabilidade. Suas principais características são:
- Hospedagem confiável para aplicações Non Thread-Safe (como PHP) em modo FastCGI para forçar uma simples requisição concorrente por processo FastCGI.
- Suporte para hospedagens de aplicações framework FastCGI em servidores compartilhados.
- Rico conjunto de opções de configuração para aprimoramento do desempenho da extensão e processo FastCGI.
Referência
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521
Enjoy
Postado por Carlos Fernando Sylverio | Postado em Tecnologia | Postado em 03-08-2009
0
Também conhecido como mod_rewrite, é um software que modifica aparência de uma URL. É utilizado para fornecer links para páginas web mais curtos e relevantes. A técnica é utilizada para adicionar um grau de separação entre os arquivos utilizados para gerar uma página web e a URL apresentada ao mundo.
Exemplos:
Abaixo temos uma URL de um post para um blog qualquer:
http://www.example.com/Blogs/Posts.php?Year=2006&Month=12&Day=19
Para o mesmo post porem utilizando reescrita:
http://www.example.com/Blogs/2006/12/19/
A segunda URL permite que sejam visualizados todos os post de dezembro somente removendo o dia 19, conforme abaixo:
http://www.example.com/Blogs/2006/12
Ionic’s Isapi Rewrite Filter
De uma forma grotesca, podemos dizer que o IIRF é um plugin para IIS que permite reescrever URL (Rewrite Engine). O Apache tem mod_rewrite, o que permite reescrever URL. Mas IIS, antes de v7, não tem nada semelhante como um built-in, ou como um “padrão” add-on livre.
O IIS tem um mecanismo de mapeamento URL, mas funciona somente para os arquivos que são tratados pelo ASP.NET: aspx, ascx, asmx, e assim por diante. Para os arquivos não são tratados como xml, GIF, JPG, CSS, o mapeamento não funciona de uma forma limpa. Como o servidor HTTP Apache, o IIS tem um mecanismo de extensão: ele é chamado de filtro ISAPI. Esses filtros possibilitam o IIS uma capacidade de re-escrever URLs.
Como usar o IIRF?
IIRF é uma única DLL. Que é instalada como um filtro ISAPI no seu servidor web, sendo configurada através de um arquivo INI.
Referências
http://en.wikipedia.org/wiki/Rewrite_engine
http://www.codeplex.com/IIRF
Enjoy
seguidores
leitores