Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mendapatkan nama laluan semasa dalam Symfony 2?

Bagaimanakah saya boleh mendapatkan nama laluan semasa dalam Symfony 2?

Barbara Streisand
Barbara Streisandasal
2024-10-28 14:02:02525semak imbas

How do I get the current route name in Symfony 2?

Cara Mengambil Laluan Semasa dalam Symfony 2

Mendapatkan laluan semasa dalam Symfony 2 ialah tugas biasa dalam pelbagai tugas, seperti mencipta pautan, menentukan kebenaran pengguna atau memaparkan maklumat sensitif konteks.

Penyelesaian

Untuk mendapatkan semula laluan semasa, anda boleh memanfaatkan objek permintaan. Objek ini menyediakan akses kepada maklumat tentang permintaan HTTP yang masuk, termasuk laluan yang dipadankan.

Pelaksanaan

Mulakan dengan menyuntik objek permintaan ke dalam pengawal anda atau kelas lain sebagai pergantungan perkhidmatan. Ini boleh dilakukan dengan menganotasi kelas dengan anotasi @ContainerAware dan menambahkan sifat $request:

/**
 * @ContainerAware
 */
class MyController
{
    private $request;

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }
}

Setelah anda mempunyai akses kepada objek $request, anda boleh mendapatkan semula nama laluan semasa menggunakan get( '_route') kaedah:

$routeName = $this->request->get('_route');

Pembolehubah $routeName kini akan mengandungi nama laluan yang dipadankan untuk permintaan semasa. Dalam contoh anda, ini akan menjadi beberapaHalaman.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan nama laluan semasa dalam Symfony 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn