Jak uruchomić aplikację w symfony?

0

Mam taki problem, że zainstalowałem symfony, coś tam z GPT napisaliśmy ale nie renderuje mi strony wynikowej

kod

<?php
// src/Controller/LuckyController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class LuckyController
{
   
    public function number(): Response
    {
        $number = random_int(0, 100);

        // Creating a Response object with the generated random number
        $html = '<html><body>';
        $html .= '<h1>Your lucky number is: ' . $number . '</h1>';
        $html .= '</body></html>';

        // Return the Response object
        return new Response($html);
    }
}

wyświetla mi jako tekst

// src/Controller/LuckyController.php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class LuckyController { public function number(): Response { $number = random_int(0, 100); // Creating a Response object with the generated random number $html = ''; $html .= '
Your lucky number is: ' . $number . '
'; $html .= ''; // Return the Response object return new Response($html); } }

php 8.24

Dodałem <?php i wypluwa pusty dokument

Uruchomiłem serwer symfony w katalogu zmieniłem nazwę projektu na index.php nie działą
Uruchomiłem xampp z oryginalną nazwą projektu i nic nie pokazuje

GPT

Apologies for the confusion earlier. In the code snippet you provided, the #[Route] annotation is missing. To define a route using annotations, you need to add the #[Route] annotation above the controller method you want to associate with a specific URL.

Sam to napisał godzinę wcześniej.

2

"Apologies for the confusion earlier. In the code snippet you provided, the #[Route] annotation is missing. To define a route using annotations, you need to add the #[Route] annotation above the controller method you want to associate with a specific URL."

Odpowiedź już znasz. Zachęcam bardziej niż z chatgpt korzystać z dokumentacji symfony:

https://symfony.com/doc/current/controller.html

// src/Controller/LuckyController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class LuckyController
{
    #[Route('/lucky/number/{max}', name: 'app_lucky_number')]
    public function number(int $max): Response
    {
        $number = random_int(0, $max);

        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

0

Nic nie generuje 1.jpg1a.jpg1b.jpg1c.jpg

2

Serio używasz notatnika do tego??

Screenów robienie też nie za bardzo wychodzi Ci. Możesz przecież wrzucić tylko wycinek, a nie cały ekran.

0

Na screnie masz tylko informacje, że plik log najprawdopodobniej jest już otwarty i sam PHP nie może do niego zapisać.

Litości 21 wiek. Użyj jakiegoś IDE już nawet notepad ++ lepszy.

0

1.jpg1a.jpg1b.jpg

0

Brakuje name w Route

0

W ogóle renderowanie HTML w kontrolerze? Mega MEH.

Weź zainstaluj TWIGa, będzie lepsze.

Zainstalowałeś paczki z composera?

0

Zrób sobie może w akcji samo:

public function number(): Response
{
    return new Response('test');
}

Skoro nie działa, to trzeba uprościć trochę wszystko.

I sprawdź czy na 100% masz paczki z composera zainstalowane.

Możesz też sobie zdebugować routing: https://symfony.com/doc/current/routing.html#debugging-routes

1

Tak nie da się za bardzo pomóc. Nie wklejaj screnów. Minimalny wysiłek włóż, żeby można Ci było pomóc. Tak nie da się tego czytać.
Opowiadaj w postach.
Albo dajesz routes w pliku yaml albo przez adnotacje.
Zacznij od sprawdzenia co SF myśli o Twoich wpisach w routes:
php bin/console debug:router
https://symfony.com/doc/current/controller.html
Potem
Przeklej sobie przykład 1:1 z tutoriala i uruchom.

0
jurek1980 napisał(a):

Tak nie da się za bardzo pomóc. Nie wklejaj screnów. Minimalny wysiłek włóż. Tak nie da się tego czytać.
Opowiadaj w postach.
Albo dajesz routes w pliku yaml albo przez adnotacje.
Zacznij od sprawdzenia co SF myśli o Twoich wpisach w routes:
php bin/console debug:router
https://symfony.com/doc/current/controller.html
Potem
Przeklej sobie przykład 1:1 z tutoriala i uruchom.

"K:\xampp4\htdocs\my_project_name>php bin/console debug:router
PHP Warning: Module "openssl" is already loaded in Unknown on line 0

Warning: Module "openssl" is already loaded in Unknown on line 0


Name Method Scheme Host Path


_preview_error ANY ANY ANY /_error/{code}.{_format}
app_routes ANY ANY ANY /lucky/number
---------------- -------- -------- ------ --------------------------"

dałem response new ("test");

  1. Czy to obojętne czy daję " czy '

  2. Czy w yaml ma być 'App\Controller\LuckyController:number' czy App\Controller\LuckyController:number ?

  3. Czy plik to może być index.php ?

0
johnny_Be_good napisał(a):
  1. Czy to obojętne czy daję " czy '

Eeee... Ty tak na serio się pytasz? Tak, w tym przypadku obojętne. Ale jeśli nie wiesz tego, to widzę ciężko Twoją przygodę z Symfony.

johnny_Be_good napisał(a):
  1. Czy w yaml ma być 'App\Controller\LuckyController:number' czy App\Controller\LuckyController:number ?

Nie powinno mieć znaczenia.

johnny_Be_good napisał(a):
  1. Czy plik to może być index.php ?

Jaki plik? Index.php jest to główny plik aplikacji.

0

Ad 2 zostań na razie przy adnotacji Route
Ad 3 Pliku Index.php nie zmieniasz. On ładuje Kernel który robi magię w tym routing.
Plik kontrolera ma być w odpowiednim miejscu, ma rozszerzać klasę Controller itd.

Zacznij od przeklejenia 1:1 z tutoriala.

Ostrzeżenie o OpenSSL masz bo pewnie przeedytowałeś php.ini z błędem.

0
jurek1980 napisał(a):

Ad 2 zostań na razie przy adnotacji Route
Ad 3 Pliku Index.php nie zmieniasz. On ładuje Kernel który robi magię w tym routing.
Plik kontrolera ma być w odpowiednim miejscu, ma rozszerzać klasę Controller itd.

Zacznij od przeklejenia 1:1 z tutoriala.

Ostrzeżenie o OpenSSL masz bo pewnie przeedytowałeś php.ini z błędem.

Gdzie mam index.php? Mam w nim zawartość Tego LuckyNumber, wcześniej pokazało mi komunikat że strona nie jest skonfigurowana.
Jaka zawartość powinna być index.php jeśli nie to

<?php
// src/Controller/LuckyController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class LuckyController
{
    #[Route('/lucky/number/{max}', name: 'app_routes')]
    public function number(int $max): Response
    {
        $number = random_int(0, $max);

        return new Response( 'zzzz');
    }
}

??
O ten index chodzi?

"<?php

use App\Kernel;

require_once dirname(DIR).'/vendor/autoload_runtime.php';

return function (array $context) {
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};
"

'app_routes' dodałem taka jak konsola to nazwała.

0

index.php powinien być w katalogu public i powinno tam być coś o ładowaniu Kernel.
Jeśli tego nie masz, to coś ostro poszło nie tak.

1

@johnny_Be_good brakuje Ci totalnych podstaw i ogólnego zrozumienia PHP. Wg mnie Symfony to za wysokie progi, zacznij od czegoś prostszego, bez frameworka. Inaczej co chwilę będziesz miał problemy z czymś.

0

A tu dali <?php xD

serek napisał(a):

@johnny_Be_good brakuje Ci totalnych podstaw i ogólnego zrozumienia PHP. Wg mnie Symfony to za wysokie progi, zacznij od czegoś prostszego, bez frameworka. Inaczej co chwilę będziesz miał problemy z czymś.

1a.jpg1.jpg

0

Jest, skopiowałem go też na próbę do src id src/Controller —

To nie tak!
To jest MVC. index.php jest plikiem wejścia. Nie ruszasz go! Potem ten plik z użyciem Kernela i całego mechanizmu jaki ma ładuje sobie jakiś kontroler i ten kontroler odpowiada za ruch na konkretnym adresie URL.
Względnie wywołuje plik z widokiem.
Poczytaj co to MVC. Nie ruszaj core framework`a.
I odpowiadaj w postach. Komentarze są do korespondencji "poza tematem" - stąd nazwa "komentarz".

0
jurek1980 napisał(a):

Jest, skopiowałem go też na próbę do src id src/Controller —

To nie tak!
To jest MVC. index.php jest plikiem wejścia. Nie ruszasz go! Potem ten plik z użyciem Kernela i całego mechanizmu jaki ma ładuje sobie jakiś kontroler i ten kontroler odpowiada za ruch na konkretnym adresie URL.
Względnie wywołuje plik z widokiem.
Poczytaj co to MVC. Nie ruszaj core framework`a.
I odpowiadaj w postach. Komentarze są do korespondencji "poza tematem" - stąd nazwa "komentarz".

I nigdy nigdy nie kopiowałeś kluczowych plików systemowych w różne ciekawe miejsca?

0

Kiedyś, dawno, dawno temu też pisałem LuckyNumber. I mam straszne wrażenie, że pan ChatGPT skopiował go ode mnie.

Mam także wrażenie, że chcesz odpalić wszystko równoczesnie korzystając z dwóch serwerów (apache + symfonowy). Muszę doczytać twoje posty.

Rady na szybko:

  1. zainstaluj sobie jakiegoś linuxa (mint? ubuntu?)
  2. na linuchu zainstaluj VSC - ma mnóstwo pomocnych dodatków.
  3. zainstaluj potrzebne rzeczy. A jak?
    • wpisujesz to co chcesz odpalić (np. php)
    • linuch oburzony zaczyna krzyczeć, że nie masz tego w systemie i wyświetla komendę za pomocą której możesz daną rzecz zainstalować.
    • komendę kopiujesz i odpalasz (no, po prostu naciskasz enter)
    • brawo, instalacja potrzebnej rzeczy zakończona.
      Powyższe 4 podpunkty powtarzasz do momentu aż będziesz miał zainstalowane wszystko co chcesz. Włącznie z composerem, instalatorem symfony itd.
0

Zacząłem do nowa przy użyciu

php bin/console make:controller HelloWorldController

Ogólnie jesteśmy w tym miejscu gdzie powinien być komunikat błędu

I mamy to

1.jpg

0
ccwrc napisał(a):

Kiedyś, dawno, dawno temu też pisałem LuckyNumber. I mam straszne wrażenie, że pan ChatGPT skopiował go ode mnie.

...

Dodałem do routes.yaml linijkę app_routes:
path: /hello/world
controller: 'App\Controller\HelloWorldController::index'

I zaczęło wyświetlać pustą stronę. Cały czas jest pusta.
0

Spytam się kolejny raz: czy masz zainstalowane paczki? Działa Ci PHP/Apache(lub nginx)?

A co się wyświetla na stronie głównej? Powinna być strona powitalna z Symfony.

0
serek napisał(a):

Spytam się kolejny raz: czy masz zainstalowane paczki?

Jakie?

C:\Users\juzio\Desktop\my_project_name>composer require symfony/maker-bundle --dev
PHP Warning:  Module "openssl" is already loaded in Unknown on line 0

Warning: Module "openssl" is already loaded in Unknown on line 0
./composer.json has been updated
Running composer update symfony/maker-bundle
Loading composer repositories with package information
Restricting packages listed in "symfony/symfony" to "7.0.*"
Updating dependencies
Lock file operations: 4 installs, 0 updates, 0 removals
  - Locking doctrine/inflector (2.0.8)
  - Locking nikic/php-parser (v4.18.0)
  - Locking symfony/maker-bundle (v1.52.0)
  - Locking symfony/process (v7.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
    Failed to download symfony/process from dist: The zip extension and unzip/7z commands are both missing, skipping.
The php.ini used by your command-line PHP is: K:\xampp4\php\php.ini
    Now trying to download from source
  - Syncing symfony/process (v7.0.0) into cache
    Failed to download nikic/php-parser from dist: The zip extension and unzip/7z commands are both missing, skipping.
The php.ini used by your command-line PHP is: K:\xampp4\php\php.ini
    Now trying to download from source
  - Syncing nikic/php-parser (v4.18.0) into cache
    Failed to download doctrine/inflector from dist: The zip extension and unzip/7z commands are both missing, skipping.
The php.ini used by your command-line PHP is: K:\xampp4\php\php.ini
    Now trying to download from source
  - Syncing doctrine/inflector (2.0.8) into cache
    Failed to download symfony/maker-bundle from dist: The zip extension and unzip/7z commands are both missing, skipping.
The php.ini used by your command-line PHP is: K:\xampp4\php\php.ini
    Now trying to download from source
  - Syncing symfony/maker-bundle (v1.52.0) into cache
  - Installing symfony/process (v7.0.0): Cloning 13bdb1670c from cache
  - Installing nikic/php-parser (v4.18.0): Cloning 1bcbb2179f from cache
  - Installing doctrine/inflector (2.0.8): Cloning f9301a5b2f from cache
  - Installing symfony/maker-bundle (v1.52.0): Cloning 112f9466c9 from cache
Generating autoload files
30 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Symfony operations: 1 recipe (69da1fb20da5bd62e648f35fed47f34e)
  - Configuring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:main
Executing script cache:clear [OK]
Executing script assets:install public [OK]

 What's next?


Some files have been created and/or updated to configure your new packages.
Please review, edit and commit them: these files are yours.

https://repo.packagist.org could not be fully loaded (curl error 28 while downloading https://repo.packagist.org/p2/symfony/cache-contracts.json: SSL connection timeout), package information was loaded from the local cache and may be out of date
No security vulnerability advisories found.
Using version ^1.52 for symfony/maker-bundle
0

Wejdź na 127.0.0.1:8000 i zobacz czy masz stronę powitalną z Symfony.

0
serek napisał(a):

Wejdź na 127.0.0.1:8000 i zobacz czy masz stronę powitalną z Symfony.

Nie mam
A wcześniej miałem komunikat "Widzisz tą stronę ponieważ strona nie jest skonfigurowana" coś tkaiego

Uruchomiłem serwer w innym katalogu i pokazuje stona not found.

0

Poczytałem trochę i mam pytania oraz prośbę.

  • co właściwie instalujesz? Na jednym ze screenów widzę Symfony 5 a piszesz o PHP 8.2
  • czy to zadanie ma coś wspólnego z zadaniem związanym z Symfony które dostałeś na rekrutacji (nie pamiętam, czy wczoraj czy wcześniej, nie chce mi się teraz sprawdzać)? To z czystej ciekawości, nie musisz się do tego odnosić.

Wklej cały kod np. na githuba - to da możliwość weryfikacji w kilka sekund zamiast bawienia się we wklejanie kilku linijek, które bez całej reszty są przeważnie bezwartościowe.

0
ccwrc napisał(a):

Poczytałem trochę i mam pytania oraz prośbę.

  • co właściwie instalujesz? Na jednym ze screenów widzę Symfony 5 a piszesz o PHP 8.2
  • czy to zadanie ma coś wspólnego z zadaniem związanym z Symfony które dostałeś na rekrutacji (nie pamiętam, czy wczoraj czy wcześniej, nie chce mi się teraz sprawdzać)? To z czystej ciekawości, nie musisz się do tego odnosić.

Wklej cały kod np. na githuba - to da możliwość weryfikacji w kilka sekund zamiast bawienia się we wklejanie kilku linijek, które bez całej reszty są przeważnie bezwartościowe.

A wcześniej

routes.yaml wyglądał tak

controllers:
resource:
path: ../src/Controller/
namespace: App\Controller
type: attribute

1

Chyba jednak to zwykły scam

@ccwrc

1 użytkowników online, w tym zalogowanych: 0, gości: 1