Esta é uma estrutura PHP personalizada para aplicativos pessoais da Web, ele pretende ser simples, leve e flexível, o código é para fins de aprendizado e não se destina a ser usado "como está" em ambientes de produção. Um simples blog e registro de usuário é integrado a essa estrutura personalizada do PHP.
Essa estrutura PHP personalizada faz uso de namespaces, o diretório "público" contém o controlador frontal.
Download de hospedagem compartilhada: php-framework v1
Download: php-framework
Versão 2.1 atualizada: localização do projeto
Download v2
Os únicos requisitos são ter um servidor Web Apache funcionando com PHP.
Se usar o IIS, o controlador/ação não funcionará, pois essa estrutura usa .htaccess para a reescrita de URL
http://domain/controller/action/{params}Ação e os parâmetros são opcionais, se o controlador não for especificado, ele usará um controlador padrão especificado.
Para passar uma vista
View:: renderTemplate ( $ data , " ./App/Views/blog/index.php " ) ;Os diretórios em /visualizações compartilham o mesmo nome da classe do controlador, por exemplo, uma casa de controlador tem uma visualização chamada /views /home e dentro do nome da pasta que você teria e indexado e /ou outro arquivo que descreveria a ação
Você pode passar uma matriz com tantos valores quanto quiser e também pode retornar objetos do modelo. ou seja:
$ viewmodel = new Post_Model ();
$ data [ ' pagetitle ' ] = ' Add a New Post ' ;
$ data [ ' add ' ] = $ viewmodel -> add () ;
View:: renderTemplate ( $ data , " ../App/Views/blog/add.php " ) ;Postagens:
+ -- -----------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+ -- -----------+--------------+------+-----+-------------------+----------------+
| id | int ( 11 ) | NO | PRI | NULL | auto_increment |
| user_id | int ( 11 ) | NO | | NULL | |
| title | varchar ( 255 ) | NO | | NULL | |
| body | text | NO | | NULL | |
| create_date | datetime | NO | | CURRENT_TIMESTAMP | |
+ -- -----------+--------------+------+-----+-------------------+----------------+Usuários:
+ -- -------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+ -- -------------+--------------+------+-----+-------------------+----------------+
| id | int ( 11 ) | NO | PRI | NULL | auto_increment |
| name | varchar ( 255 ) | NO | | NULL | |
| email | varchar ( 255 ) | NO | | NULL | |
| password | varchar ( 255 ) | NO | | NULL | |
| register_date | datetime | NO | | CURRENT_TIMESTAMP | |
+ -- -------------+--------------+------+-----+-------------------+----------------+