Bonjour, je devais faire un CRUD pour le projet 4 de ma formation, et vu avec mon mentor, j'ai décidé de mettre en place Doctrine ORM ( Vu que de toute façon mon projet 5 est avec Symfony, c'est toujours bon de savoir comment faire).
Le petit soucis c'est que pour trouver de l'aide avec Doctrine (sans que google me balance du Symfony), c'est un peu compliqué.
Du coup j'ai 2 petites questions mais avant je partage la structure rapidement
Dans mon FrontController.php, je voulais faire une fonction pour la récupération des articles (j'ai pas mis le routeur qui ce trouve entre, juste de la redirection), seulement mon problème vient de ma variable $entityManager, je ne sais pas vraiment comment procéder pour m'en servir dans ma fonction, tel que vous voyez le code, cela ne fonctionne pas. si quelqu'un à au moins un petit indice
et mon deuxième problème viens pour la récupération des dates, en faisant un CRUD sans Doctrine, j'avais réussi essaiment avec DATE_FORMAT.. mais la il me dit qu'il ne peux pas me renvoyer un string, j'ai mis ça comme annotation à ma variable concernant la date :
Le petit soucis c'est que pour trouver de l'aide avec Doctrine (sans que google me balance du Symfony), c'est un peu compliqué.
Du coup j'ai 2 petites questions mais avant je partage la structure rapidement
<?php
# cli-config.php
$entityManager = require_once join(DIRECTORY_SEPARATOR, [__DIR__, 'bootstrap.php']);
use Doctrine\ORM\Tools\Console\ConsoleRunner;
return ConsoleRunner::createHelperSet($entityManager);
<?php
# bootstrap.php
require_once join(DIRECTORY_SEPARATOR, [__DIR__, '../vendor/autoload.php']);
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
$entitiesPath = [
join(DIRECTORY_SEPARATOR, [__DIR__, "../src/Entity"])
];
$isDevMode = true;
$proxyDir = null;
$cache = null;
$useSimpleAnnotationReader = false;
// Connexion à la base de données
$dbParams = [
'driver' => 'pdo_mysql',
'host' => 'localhost',
'port' => '3308',
'charset' => 'utf8',
'user' => 'root',
'password' => '',
'dbname' => 'blog_mvc',
];
$config = Setup::createAnnotationMetadataConfiguration(
$entitiesPath,
$isDevMode,
$proxyDir,
$cache,
$useSimpleAnnotationReader
);
$entityManager = EntityManager::create($dbParams, $config);
return $entityManager;
<?php
#FrontController.php
namespace App\controller;
use App\Entity\Article;
$entityManager = require_once join(DIRECTORY_SEPARATOR, [__DIR__, '../../config/bootstrap.php']);
class FrontController
{
public function getArticle($articleId)
{
$userRepo = $entityManager->getRepository(Article::class);
}
}
Dans mon FrontController.php, je voulais faire une fonction pour la récupération des articles (j'ai pas mis le routeur qui ce trouve entre, juste de la redirection), seulement mon problème vient de ma variable $entityManager, je ne sais pas vraiment comment procéder pour m'en servir dans ma fonction, tel que vous voyez le code, cela ne fonctionne pas. si quelqu'un à au moins un petit indice
et mon deuxième problème viens pour la récupération des dates, en faisant un CRUD sans Doctrine, j'avais réussi essaiment avec DATE_FORMAT.. mais la il me dit qu'il ne peux pas me renvoyer un string, j'ai mis ça comme annotation à ma variable concernant la date :
@ORM\Column(type="datetime_immutable", options={"default"="CURRENT_TIMESTAMP"})