Archive for the web Category

Uma funcionalidade legal do CakePHP é a possibilidade de adicionar novos PATHS (caminho de diretórios) que contenham código fonte, com isso por exemplo é possível criar um diretório onde podemos fazer compartilhamento de plugins com diversos projetos.

Todos esses Paths você pode definir no bootstrap de sua aplicação esse se encontra em: config/bootstrap.php

1
2
3
4
5
6
7
8
9
	$controllerPaths = array();
	$viewPaths = array();
	$modelPaths = array();
	$helperPaths = array();
	$componentPaths = array();
	$pluginPaths = array();
	$vendorPaths = array();
	$localePaths = array();
	$shellPaths = array();

Pode ser passados vários PATHS no array, e todos serão adicionados junto com os PATHS padrões do CakePHP 1.2.

Além da funcionalidade de compartilhar código, pode se fazer algumas especializações com esse tipo de funcionalidade, com criatividade e lógica é possível criar controllers com mesmo nome e dependendo da situação um dos dois serem chamados, assim como fazer overwrite das classes de modelo, etc…

Foi lançada duas novas versões do CakePHP, um novo released da versão 1.2 (CakePHP 1.2) e uma versão de desenvolvimento do Cake 3.

Curiosidade da versão do Cake 3 é a mudança de nome que provavelmente foi dada por causa da licensa do “PHP”.

  3. The name "PHP" must not be used to endorse or promote products
     derived from this software without prior written permission. For
     written permission, please contact group@php.net.

Veja toda a Licensa do PHP aqui.

Ou seja só pode usar o nome PHP em algum produto com autorização do PHP, não sei se as outras versões possuem essa autorização mas todavia, acho que o Cake está encaminhando a mudar o nome.

O released CakePHP 1.2.4.8284, é de bug fixes, com pequenas mudanças, e alguns bugs fixed, assim como melhorias nos tests. Todas as mudanças na versão do CakePHP 1.2 pode ser visto no changelog.

Enquanto a versão Cake 3, está sendo desenvolvida utilizando os recursos do PHP 5.3, como funções anonimas e namespace, que irão ajudar muito principalmente no desenvolvimento de plugins que será muito mais fácil, pois será agora possível a criação de pacotes. Assim como o conflito com o nome de classes que não irão correr mais, e isso é um grande ponto.

A versão Cake3 será totalmente reformulada e vale a pena acompanhar o repositório o que está por vir.

Em paralelo está sendo desenvolvido o CakePHP 2, que será um refactoring do código do CakePHP 1.2 para PHP 5 para rodar em strict com o PHP 5.

Seguido várias pessoas tem problemas com encode no desenvolvimento com CakePHP 1.2, são pequenos erros que levam a fazer isso, para solucionar os mesmos normalmente é simples, porém vou buscar descrever aqui onde a maioria pode ocorrer:

Database Config

No config/database.php, onde definimos a conexão a base de dados do CakePHP, é possível definir nomes de atributos que serão os nomes do tipo de conexão a base de dados.

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< ?php
class DATABASE_CONFIG {
 
	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'root',
		'password' => 'root',
		'database' => 'abccc',
		'encoding' => 'utf8',
	);
}
?>

O importante aqui é definir o hash enconding no array do attributo da sua configuração de banco, no caso foi definido utf8 (sem o hífen).

Aplicação Charset

No arquivo config/core.php, existe a configuração de encoding a ser definida para aplicação:

1
2
3
4
/**
 * Application wide charset encoding
 */
	Configure::write('App.encoding', 'UTF-8');

Sete nela o mesmo encode que você está usando ao longo da aplicação.

Charset do HTML

Outro local que definimos o encode da aplicação agora no caso o encode do HTML, é no helper Html, no layout verificar o:

1
< ?php echo $html->charset(); ?>

Por padrão o arquivo views/layouts/default.ctp já contei a impressão do meta charset, e não é necessário passar parâmetro para o mesmo, visto que já foi definido no config/core.php o encoding default da aplicação, logo o HtmlHelper pega o que foi definido no config/core.php.

Se o seu arquivo de layout não contem a sua adição pode ser necessária.

Database

Por último se continuar ainda com problemas de encoding, é necessário verificar seu banco de dados criado, verifique se o mesmo está setado com o encode esperado, assim como as tabelas e os atributos do tipo string estão também usando o mesmo encode.

Files

Outra verificação a ser feita é o encode dos arquivos, vale lembrar que os arquivos PHP devem estar no mesmo encode do resto da aplicação, para verificar isso no linux você pode usar o comando file: file arquivo.php, ele irá enformar o encode do arquivo, caso esteja errado converta o arquivo para o encode correto.

Esses processos são triviais ao longo do desenvolvimento com o CakePHP, e para aqueles que estão com algum problema provavelmente, algum desses processos descritos devem estar levando a sua aplicação CakePHP a apresentar esse tipo de error.

XHTML 2 is dead

| julho 4th, 2009

O XHTML 2, está com seus dias contados, não será mais tocado o projeto adiante ao seu lugar continuará o HTML 5, e agora com o foco total em cima dele.

Isso pode ser considerado uma boa novidade, pois teremos mais pessoas envolvidas em cima de 1 projeto, além de estabelecer um padrão, não termos mais duas linguagens de marcação na WEB.

Se você tem interesse de saber como anda o HTML 5, você pode conferir aqui, nesse site contém alguns exemplos do que teremos com o HTML 5.

Digitalus é mais um CMS em PHP. Ou melhor formulando é um CMS em Zend Framework.

Devemos ressaltar CMS Zend Framework, pois, a gama de CMS que temos em PHP é grande, normalmente são bons, porém não possuem uma boa API ou framework por trás, o que os torna bastante engessado, ou difíceis de estender.

É o que ele reforça na sua própria descrição, é um CMS simples porém com uma ótima API.

Com seu core, ja temos um CMS básico, com geração de páginas, menus de navegação, administração de tipos de conteúdos, designer e template.

Vale dar uma olhada, acompanhada ou até mesmo ajudar o projeto, pois o mesmo é open source.

BuscaPé, líder em comparação de preços na América Latina