国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

標(biāo)題重寫為:Symfony 5.4中的屬性路由問(wèn)題已解決
P粉035600555
P粉035600555 2024-01-10 16:38:04
0
2
499

在RFE中有一個(gè)解決方案;使用bin指令和php版本解決問(wèn)題

我正在處理一個(gè)基於Symfony 5.4和PHP 7.4的新應(yīng)用程序,以測(cè)試Symfony 6中的新添加和更改。我使用控制臺(tái)中的實(shí)體生成器創(chuàng)建了實(shí)體和CRUD,資料庫(kù)創(chuàng)建完美。然而,生成器使用新的“attributes”(根據(jù)https://symfony.com/doc/5.4/routing.html中的約定),而不是“classic”註釋。透過(guò)控制臺(tái)偵錯(cuò)以查看生成的路徑,控制器中定義的任何路由都不會(huì)顯示(當(dāng)在開發(fā)模式下存取URL時(shí),當(dāng)然會(huì)顯示404錯(cuò)誤)。我決定用經(jīng)典註解替換屬性,路徑顯示出來(lái),404錯(cuò)誤消失了。但是現(xiàn)在,我發(fā)現(xiàn)生成器使用儲(chǔ)存庫(kù)透過(guò)實(shí)體管理器進(jìn)行邏輯處理,當(dāng)存取索引以從頭開始時(shí),我得到以下錯(cuò)誤:

找不到類“App\Entity\Room”的實(shí)體管理器。請(qǐng)檢查您的Doctrine配置,確保其配置為加載此實(shí)體的元數(shù)據(jù)。

偵錯(cuò)器中顯示的程式碼片段如下:

class RoomRepository extends ServiceEntityRepository
{
    public function __construct(ManagerRegistry $registry)
    {
        parent::__construct($registry, Room::class);  // 這里是錯(cuò)誤的地方
    }

實(shí)體以以下方式開始:

namespace App\Entity;

use App\Repository\RoomRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: RoomRepository::class)]
class Room
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column()]
    private ?int $id = null;

...

我最擔(dān)心的是,我猜我不能完全倒退到註釋來(lái)重寫整個(gè)CRUD,這是一項(xiàng)很大的工作(這正是我使用生成器想要避免的),所以肯定有關(guān)於屬性的一些我忽略的東西。這裡有一個(gè)我尚未修改CRUD的控制器,所以任何人都可以查看並找出為什麼路由器無(wú)法找到帶有這種類型註釋的定義路徑。

namespace App\Controller;

use App\Entity\RoomFeature;
use App\Form\RoomFeatureType;
use App\Repository\RoomFeatureRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

#[Route('/admin/feature')]
class RoomFeatureController extends AbstractController
{
    #[Route('/', name: 'admin_room_feature_index', methods: ['GET'])]
    public function index(RoomFeatureRepository $roomFeatureRepository): Response
    {
        return $this->render('room_feature/index.html.twig', [
            'room_features' => $roomFeatureRepository->findAll(),
        ]);
    }

...

所有這些的問(wèn)題是什麼?先感謝。

P粉035600555
P粉035600555

全部回覆(2)
P粉101708623

我遇到了類似的情況,對(duì)我來(lái)說(shuō),這與Trait(位於src/Entity/Traits下)上的錯(cuò)誤命名空間有關(guān)。

這個(gè)Trait甚至沒(méi)有被使用,但顯然它仍會(huì)導(dǎo)致這個(gè)錯(cuò)誤。

P粉860370921

如第一個(gè)評(píng)論所述,強(qiáng)制每個(gè)bin/console(用於make:命令)和composer命令都要透過(guò)在命令前加上php7.4來(lái)運(yùn)行,這樣一切都可以正常工作,但是對(duì)於「經(jīng)典」註釋,我沒(méi)有找到在php7.4中在控制器中使用屬性的方法。 .php-version檔案似乎只被symfony-cli用來(lái)啟動(dòng)開發(fā)web伺服器。希望這對(duì)將來(lái)可能遇到這種情況的任何人有所幫助。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板