![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Symfony. Jak załadować własne funkcje do kontrolera i/lub widoku?
Mam tak: 1. Dodałem plik w katalogi src/Bundle/Twig/AppFunctions.php (funkcja dla testu) Kod <?php namespace Bundle\Twig; class AppFunctions { public function getTName() { return 'Test Name'; } } W tym pliku chciałbym umieścić wszystkie dodatkowe funkcje jakie będą potrzebne na stronach projektu 2. W services.yaml dodałem kod Kod # My Functions app.twig_functions: class: Bundle\Twig\AppFunctions public: false tags: { name: twig.functions } 3. W pliku IndexController.php Kod <?php namespace App\Controller; use App\Entity\Users; use App\Entity\Articles; use App\Bundle\Twig\AppFunctions; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; class IndexController extends AbstractController { /** * @Route({"pl": "/", "en": "/"}, name="index") */ public function index() { $em = $this->getDoctrine()->getManager(); $indexArticles = $em->getRepository(Articles::class)->findBy(['index' => true], ['uploaded_at' => "DESC"], $max = 4, $first = null); return $this->render('index/index.html.twig', [ 'indexArticles' => $indexArticles ]); } } Pytanie jak dodać własne funkcje, które mają formatować dane widoku z tablicy $indexArticles a ) formatowanie opisu b ) funkcja generująca SEO link i inne funkcje używane na podstronach projektu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie używa się od której wersji Symfony? U mnie moja opcja 1 działa, a 2 nie chce działać.
Skąd "pobierasz" takie informacje (daj znać nie będę musiał tracić czasu na szukanie). Irytuje mnie już to Symfony nie chodzi najlepiej, strona długo się otwiera... ponadto w PHP miałbym projekt ukończony, a teraz muszę rzeźbić z encjami itd., cóż nikt nie mówił, że pierwszy projekt w tym frameworku będzie łatwy. Zastanawiam się, czy to dobry pomysł z tym Symfony? Ten projekt strony nie jest dla mnie priorytetowy, zacząłem go jakieś dwa lata temu, była wówczas wersja Symfony 3, potem nie miałem czasu na te stronkę, wróciłem do projekt na jesień zeszłego roku i musiałem poprzednią całość przepisać do Symfony 5, teraz chciałem przy tym usiąść i zaś dobrze byłoby zaktualizować Symfony i przepisać wszystko od nowa - trochę lipa z takim Symfony (za 5 lat może go nie być, wejdzie ciekawsze rozwiązanie). Przepisanie strony z PHP 5.6 do >7 to bułka z masłem, ale przepisanie wszystkiego w Symfony to kawał czasu, można się zmęczyć, a po co, i strona chodzi na tym frameworku ciężko. Pytanie. Jeśli aktualizacje kodu tej stron planuje za 10 lat, czy nie lepiej stworzyć ten projekt w czystym PHP (co przemawia za Symfony, a co za czystym PHP)? Ten post edytował Malinaa 9.02.2021, 17:25:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
Nie używa się od której wersji Symfony? U mnie moja opcja 1 działa, a 2 nie chce działać. Skąd "pobierasz" takie informacje Od wersji 4.4 wstrzykuje się repo, w 3.4 jest Twój stary sposób. Wszystko jest napisane w dokumentacji Symfony. Aby ten właściwy sposób zadział musisz mieć oczywiście zrobione repozytorium danej Encji. W repozytoriach tych trzyma się większe zapytania danej encji. Używanie Doctrine w Symfony usprawnia i przyspiesza pisanie aplikacji. Dzięki Doctrine przełączenie się na inną bazę danych MySql/Postgres/Mongo to tylko zmiana adresu serwera z bazą danych. Oczywiście jeśli korzystasz poprawnie z DQLa a nie Query Stringa. Ten post edytował LowiczakPL 11.02.2021, 18:09:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 08:49 |