SyntaxHighlighter.config.bloggerMode = true;SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';SyntaxHighlighter.all(); Breve explicacao deste post:Estava aqui escrevendo um post de jQuery + php, um CRUD de clientes, e achei que o exemplo estava meio pobre em termos de php, entao pensei em melhorar um pouco o exemplo.OBS: os clientes sao armazenados em $_Session[] e arrays, pois ja tem muito CRUD de php-mysql por ai, e o objetivo e mostrar o jQuery.As telas abrem em divs, os forms nao tem action , pois o jQuery le os campos do form, posta e fecha o div. as action sao invocadas a partir do nome dos elementos.Entao antes de organizar este projeto que ja funciona, estou criando este post p/ compartilhar a experiencia que tive com o autoload ate chegar nos namepaces. veja abaixo uma foto da app.Figura 01- Proposito final do proximo postobs: Arquivos dessa App. :surfer@surfer-OptiPlex-360:/var/sites/test.lpanic.intra$ ls -R.:Cliente.class.php ClienteHandler.php custom.css custom.js images index.php jquery-1.8.2.min.js jqueryFormExample.js jqueryFormExample.php Utils.class.php./images:bin_empty.png book_add.png page_refresh.png table_refresh.pngEsse PostEu nao usava esse recurso de autoload e tenho projetos antigos que tem mais de 10 requires em cada pagina. Na epoca era como eu sabia fazer (php 3 e 4).Esse recurso de autoload de classes que pode ser usado a partir do php5, economiza algumas linhas. Procurei em varios lugares na web, mas nao tinha entendido como usar, ja que consegui usar, vou dividir. :)Ja tenho alguma experiencia com JAVA e hoje separo meus objetos, interfaces e classes em pacotes.O php agora tem o recurso de namespaces que tenta ser parecido com o conceito de package do java com algumas modificacoes no uso. E utiliza um esquema de autoload com uma implementacao melhorada do __autoload (spl_autoload_register), porem precisa de metodos estaticos, entao mostrarei isso na 3a parte do post, depois de mostrar o autoload, pois teremos que modificar a funcao criada na 2a implementacaoImaginemos uma aplicacao onde temos clientes e a estrutura p/ esses clientes vou apenas mostrar o basico, pois a ideia e mostrar o recurso de autoload:-- M -> Cliente.php, ClienteDao.php-- V -> index.php-- C -> ClienteController1- Jeito Antigo:PHP (tudo num arquivo so p/ explicar o exemplo)<?//----arquivo cliente.php modelclass Cliente { private $id; private $nome; private $email; public function Cliente() { }//construtor//gets e sets}//----arquivo clienteDAO.php daorequire_once('cliente.php');class ClienteDAO { private $cliente; private $listaCliente; public function ClienteDAO() { }//construtor//gets e sets public function add(Cliente $cliente) { $sql = "Insert into ..";//conexao .. recorset .. execute $sql } public function remove(Cliente $cliente) { } public function saveOrUpdate(Cliente $cliente) { } public function getListaCliente() { $sql = "SELECT * FROM cliente";//conexao .. recorset .. execute $sql return $this->listaCliente; }//..etc}//----arquivo clienteController.php controllerrequire_once('cliente.php');require_once('clienteDAO.php');class ClienteController { private $clienteDao; public function ClienteController() { $this->clienteDao = new ClienteDAO(); }//construtor//gets e sets public function add(Cliente $cliente) { $this->clienteDao->add(cliente); } public function remove(Cliente $cliente) { $this->clienteDao->remove(cliente); } public function saveOrUpdate(Cliente $cliente) { $this->clienteDao->saveOrUpdate(cliente); } public function getListaCliente() { return $this->clienteDao->getListaCliente(); }}//..etc?>e no index.php ou outro arquivo do site vc teria//..etc e no index.php por exemplo require_once('cliente.php');require_once('clienteController.php');$clienteController = new ClienteController();$arrClientes= $clienteController->getListaCliente(); print_r($arrClientes);Observe os require.2- Utilizando o __autoloadP/ cada classe que temos temos que fazer um require ou include da classe desejada.Um jeito de nao precisar fazer isso em