دورة SYMFONY 4 للمبتدئين الدرس السابع
1- إسترجاع les articles من قاعدة البيانات
//
<?php
namespace App\Controller;
use App\Entity\Article;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class HelloController extends AbstractController
{
/**
* @Route("/hello")
*/
public function index()
{
$repository = $this->getDoctrine()->getRepository(Article::class);
$posts = $repository->findAll();
return $this->render('hello.html.twig',[
'posts' => $posts
]);
}
}
2- إسترجاع article بل id ديالو
//
<?php
namespace App\Controller;
use App\Entity\Article;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class HelloController extends AbstractController
{
/**
* @Route("/hello")
*/
public function index()
{
$repository = $this->getDoctrine()->getRepository(Article::class);
$posts = $repository->findAll();
return $this->render('hello.html.twig',[
'posts' => $posts
]);
}
/**
* @Route("/hello/show/{id}", name="article_show")
*/
public function show($id){
$repository = $this->getDoctrine()->getRepository(Article::class);
$post = $repository->find($id);
return $this->render('show.html.twig',['post'=>$post]);
}
}
3- إضافة الصفحة الخاصة بعرض article
//
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}{{post.title}} !{% endblock %}</title>
{% block stylesheets %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
{% endblock %}
</head>
<body>
<div class="container">
{% block body %}
<div class="row mt-4">
<div class="col-md-6 mx-auto">
<div class="card bg-light rounded">
<div class="container-fluid">
<h3 class="card-title text-default p-4">
{{post.title}}
</h3>
<hr>
</div>
<div class="card-body mt-2 rounded">
{{post.body}}
</div>
</div>
</div>
</div>
{% endblock %}
</div>
{% block javascripts %}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
{% endblock %}
</body>
</html>