Criando aplicativos com o framework fuelPHP usando a ferramenta oil.
https://github.com/fuelphp-br/fuelphp-config
cd /var/www/html oil create cadastro
oil g model cliente nome:varchar[50] email:varchar[50] idade:int
Criou o model com nome de arquivo fuel/app/classes/model/cliente.php e classe Model_Cliente
oil g controller cliente index add edit delete
Criou o controller com nome de arquivo fuel/app/classes/controller/cliente.php e classe Controller_Cliente
Criou a pasta cliente de views em fuel/app/views, contendo as views que pedi para que o controller criasse: add, edit, delete e index
oil refine migrate
O migration cria uma tabela com nome no plural e minúsculas: clientes. Veja as tabelas criadas no banco: clientes e migration Criou a migration fuel/app/migrations/001_create_clientes.php
Ao criar com oil um controller, ele cria o controller e a view respectiva
Ao criar um model ele cria o model e a migrations correspondente em fuel/app/migrations
Dependendo do seu ambiente precisará ajustar as permissões do diretório onde está o app para que o dono seja o Apache
Chamar pelo navegador
http://localhost/cadastro/public/cliente
Mudar de 'root' => 'welcome/index',
Para 'root' => 'welcome/index',
http://localhost/cadastro/public
Assim ele já abre cliente. Veja que existem os 4 links para as 4 views, mas praticamente sem conteúdo. Veja que ele usa o twitter bootstrap nas views
Na próxima parte deste tutorial criaremos um aplicativo usando o scaffold que gera um aplicativo útil com os campos da tabela e com views completas.
Agora criaremos a tabela vendedors (é assim que ele entende o plural de vendedor)
oil g scaffold vendedor nome:string email:string cpf:string
Veja o que ele cria
Creating migration: /backup/www/fuel/cadcli/fuel/app/migrations/002_create_vendedors.php
Creating model: /backup/www/fuel/cadcli/fuel/app/classes/model/vendedor.php
Creating controller: /backup/www/fuel/cadcli/fuel/app/classes/controller/vendedor.php
Creating view: /backup/www/fuel/cadcli/fuel/app/views/vendedor/index.php
Creating view: /backup/www/fuel/cadcli/fuel/app/views/vendedor/view.php
Creating view: /backup/www/fuel/cadcli/fuel/app/views/vendedor/create.php
Creating view: /backup/www/fuel/cadcli/fuel/app/views/vendedor/edit.php
Creating view: /backup/www/fuel/cadcli/fuel/app/views/vendedor/_form.php
oil refine migrate
Verifique no banco
Chamar http://localhost/cadastro/public/vendedor
Veja que agora temos um botão para adicionar um vendedor que abre um formulário.
Observe que podemos listar, adicionar, editar, excluir e com solicitação de confirmação. Um CRUD completo.
Com o scaffold fica bem mais prático.
Criaremos primeiro o admin com cliente e depois com vendedor assim:
oil g admin cliente nome:string[50] email:string[50] idade:int -s
oil g admin vendedor nome:string[50] email:string[50] cpf:string[12] -s
oil refine migrate
oil refine migrate --packages=auth
O que fez?
Performed migrations for package:auth:
001_auth_create_usertables
002_auth_create_grouptables
003_auth_create_roletables
004_auth_create_permissiontables
005_auth_create_authdefaults
006_auth_add_authactions
007_auth_add_permissionsfilter
008_auth_create_providers
009_auth_create_oauth2tables
010_auth_fix_jointables
011_auth_group_optional
Veja as tabelas criadas.
Cadastro de Clientes Início Cliente Vendedor
Acessemos http://localhost/cadastro/public/admin
Entre com admin admin
admin/login
http://localhost/cadastro/public/
Já cairá na tela de login
- fuel/app/views/admin/dashboard.php (boa parte do texto da tela inicial)
- fuel/app/views/admin/template.php (My Site, Dashboard, Logout e outros)
- fuel/app/classes/controller/admin.php (Dashboard no action_index e outros)
Boa diversão. Ops, boa programação! :)
Veja como ficou meu aplicativo ao final
Bem customizado: tradução, paginação, adicionei o id na lista, etc.
Para testar o aplicativo criado quando elaborava este tutorial apenas faça o download deste repositório e siga as instruções aqui