1. Go to this page and download the library: Download aina/dagophp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aina / dagophp example snippets
use Dago\Router;
/** @var Router $router */
$router->get('/', 'HomeController@index');
$router->get('/user/{id}', 'UserController@show');
$router->post('/user', 'UserController@store');
// avec middleware
$router->get('/dashboard', 'DashboardController@index', [\App\Middlewares\AuthMiddleware::class]);
// closure directe
$router->get('/ping', function (\Dago\Request $request) {
return (new \Dago\Response())->json(['pong' => true]);
});
namespace App\Controllers;
use Dago\Controller;
use Dago\Request;
use Dago\Response;
class UserController extends Controller
{
public function show(Request $request): Response
{
$id = $request->param('id');
return $this->view('user', ['id' => $id]);
// ou : return $this->json(['id' => $id]);
// ou : return $this->redirect('/');
}
}
$view->layout('layout');
namespace App\Models;
use Dago\Model;
class User extends Model
{
protected static string $table = 'users';
}
(new \Dago\Mail())->send(
'[email protected]',
'Sujet du mail',
'<p>Corps du message en HTML</p>'
);
namespace App\Middlewares;
use Dago\Middleware;
use Dago\Request;
use Dago\Response;
class AuthMiddleware implements Middleware
{
public function handle(Request $request, \Closure $next): Response
{
if (!isset($_SESSION['user_id'])) {
return (new Response())->redirect('/login');
}
return $next($request);
}
}
bash
php dago migrate
bash
php dago serve
php dago serve -p 8080 # port personnalisé
app/
├── Controllers/ # Contrôleurs applicatifs (App\Controllers\)
├── Models/ # Modèles (App\Models\)
└── Middlewares/ # Middlewares (App\Middlewares\)
config/
├── app.yaml # nom, mode debug, clé secrète
├── database.yaml # connexion MySQL
└── mail.yaml # connexion SMTP
database/
└── migrations/ # une migration = un fichier PHP qui `return` du SQL
public/
└── index.php # front controller
resources/
└── views/ # templates PHP (layout + vues)
routes/
├── web.php # charge automatiquement tous les autres fichiers du dossier
└── *.php # un fichier de routes par domaine (home.php, product.php...)
src/ # cœur du framework (namespace Dago\)
├── App.php # bootstrap
├── Router.php # routing + middlewares
├── Request.php / Response.php
├── Controller.php / View.php
├── Database.php / Model.php
├── Middleware.php # interface
├── Validator.php
├── Config.php # lecture des fichiers config/*.yaml
├── Mail.php # client SMTP fait maison
└── Console.php # commandes CLI (php dago ...)
dago # point d'entrée CLI
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.