PHP code example of gravity-framework / gravity-core
1. Go to this page and download the library: Download gravity-framework/gravity-core 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/ */
gravity-framework / gravity-core example snippets
composer dump-autoload
//A modifier selon la configuration des dossiers du projet
define('DS', DIRECTORY_SEPARATOR);//Séparateur de dossier selon l'OS
define('VIEWS', dirname(__DIR__). DS .'templates'.DS);//Les maquettes
define('SCRIPTS', dirname($_SERVER['SCRIPT_NAME']).DS);//Le dossier dans lequel se trouve votre fichier index.php (contrôleur frontal), par exemple public/
define('STYLES', SCRIPTS.'css'.DS);//Les fichiers css
define('JS', SCRIPTS.'js'.DS);//Les fichiers javascript
define('IMAGES', SCRIPTS.'images'.DS);//Les images
//Vous pouvez aussi définir vos propres constantes selon vos besoins
use Gravity\Core\App\Controllers\Controller;
use Gravity\Core\Routing\Router;
$router = new Router($_REQUEST['route']);
########################################### Definissez vos routes ###########################################
$router->get('/', function() {
(new Controller())->renderView('Home.index', 'layout');
});
$router->get('/shop', [ShopController::class, 'index']);
$router->get('/shop/:productId', "App\Controllers\ShopController@show");
$router->get('/', function() {
(new Controller())->renderView('Home.index', 'layout');
});
try {
$router->run();
} catch(Exception $e) {
//Affiche les détails de l'erreur dans une vue
(new Controller())->renderView('Errors.index', 'Errors.layout', ['error'=>$e]);
}
use Gravity\Core\App\Entity\Entity;
class Article extends Entity {
protected static $}
use Gravity\Core\App\Repository\Repository;
class ArticleRepository extends Repository {
protected static $entity = Arcticle::class;
protected static $table = "articles";
}
$router->get('/', function() {
//Tous les articles
$articles = ArticleRepository::findAll();
(new Controller())->renderView('Home.index', 'layout', ['articles'=>$articles]);
});
$router->get('/articles/:id', function() use($router) {
//Les paramètres de la route pour récupérer l'id
$params = $router->getRoute('articles.get')->getParameters();
$a = ArticleRepository::find($params[0]);
(new Controller())->renderView('Articles.show', 'layout', ['article'=>$a]);
}, 'articles.get');
$router->get('/articles/author/:name', function() use($router) {
//Les paramètres de la route pour récupérer l'auteur
$params = $router->getRoute('articles.get.author')->getParameters();
$a = ArticleRepository::findWhere(['auteur'], [$params[0]]);
(new Controller())->renderView('Articles.show', 'layout', ['article(s)'=>$a]);
}, 'articles.get.author');
$router->post('/articles', function() use($router) {
//Les paramètres et données de la requête
$params = $router->getRoute('articles.post')->getExtras();
$a = new Article($params);
$saved = ArticleRepository::save($a);
(new Controller())->renderView('Articles.save', 'layout', ['saved'=>$saved]);
}, 'articles.post');
use Gravity\Core\App\Resources\AbstractResource;
class ArticleResource extends AbstractResource {
protected $entity = Article::class;
public function toArray() {
$data = $this->entity->toArray();
unset($data['auteur']);
$data['rédacteur'] = $this->entity->auteur;
$data['contenu'] = substr($this->entity->contenu, 0, 20).'...';
return $data;
}
}
// Article dont l'id est 5
$article = ArticleRepository::find(5);
$articleFormatted = (new ArticleResource())->make($article);
(new Controller())->renderView('Articles.show', 'layout', ['article'=>$articleFormatted]);
apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/index.php?route=$1 [QSA,L]
$content
database.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.