Loading repository data…
Loading repository data…
JoaquimMateus0404 / repository
ScopeMVC é um micro-framework PHP educacional projetado para ajudar desenvolvedores iniciantes a compreenderem os fundamentos da arquitetura MVC (Model-View-Controller) de forma prática e simples, antes de migrarem para frameworks mais robustos como Laravel ou Symfony.
ScopeMVC é um micro-framework PHP educacional projetado para ajudar desenvolvedores iniciantes a compreenderem os fundamentos da arquitetura MVC (Model-View-Controller) de forma prática e simples, antes de migrarem para frameworks mais robustos como Laravel ou Symfony.
Este projeto foi desenvolvido com o objetivo de:
git clone https://github.com/seu-usuario/scopemvc.git
cd scopemvc
composer install
Edite o arquivo database/Connection.php com suas credenciais:
$conn = new \PDO(
"mysql:host=localhost;dbname=seu_banco;charset=utf8",
"seu_usuario",
"sua_senha"
);
Navegue até a pasta public e execute:
cd public
php -S localhost:4040
Acesse http://localhost:4040 no seu navegador.
scopemvc/
├── App/
│ ├── Controllers/ # Controladores da aplicação
│ │ └── IndexController.php
│ └── Models/ # Modelos de dados
│ └── User.php
├── database/
│ └── Connection.php # Configuração do banco de dados
├── public/ # Pasta pública (Document Root)
│ ├── index.php # Ponto de entrada da aplicação
│ ├── css/ # Arquivos CSS
│ └── js/ # Arquivos JavaScript
├── routes/
│ └── web.php # Definição de rotas
├── vendor/
│ └── MF/ # Core do framework
│ ├── Controller/
│ ├── Init/
│ └── Model/
├── views/ # Templates da aplicação
│ ├── layout.php # Layout principal
│ ├── includes/ # Componentes reutilizáveis
│ └── index/
└── composer.json # Dependências e autoload
<?php
namespace App\Controllers;
use MF\Controller\Action;
class NovoController extends Action {
public function index() {
// Sua lógica aqui
$this->render('nova-view', 'layout');
}
}
No arquivo routes/web.php:
$routes['nova-rota'] = array(
'route' => '/nova-url',
'controller' => 'NovoController',
'action' => 'index'
);
<?php
namespace App\Models;
use MF\Model\Model;
class NovoModel extends Model {
public function buscarTodos() {
$query = "SELECT * FROM tabela";
return $this->db->query($query)->fetchAll();
}
}
use MF\Model\Container;
public function index() {
$model = Container::Model('NovoModel');
$dados = $model->buscarTodos();
$this->view->dados = $dados;
$this->render('view', 'layout');
}
index.phpContribuições são bem-vindas! Para contribuir:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este projeto é desenvolvido para fins educacionais.
CleanSoft
⭐ Se este projeto te ajudou a entender MVC, deixe uma estrela!