Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menggunakan rangka kerja Symfony dalam pengaturcaraan PHP?

Bagaimana untuk menggunakan rangka kerja Symfony dalam pengaturcaraan PHP?

PHPz
Lepaskan: 2023-06-12 13:16:02
asal
1012 orang telah melayarinya

Bahasa PHP telah menjadi salah satu piawaian untuk pembangunan aplikasi Internet, dan Symfony, sebagai rangka kerja PHP yang cekap dan fleksibel, digemari oleh semakin ramai pembangun PHP. Symfony menyediakan set komponen dan alatan yang kaya yang membolehkan pembangun membina aplikasi web berkualiti tinggi dengan cepat. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Symfony dalam pengaturcaraan PHP.

  1. Pasang Symfony
    Cara paling mudah untuk memasang rangka kerja Symfony ialah menggunakan Composer ialah pengurus pergantungan PHP yang boleh membantu kami memuat turun dan memasang rangka kerja Symfony. Mula-mula, pastikan Komposer dipasang, dan kemudian masukkan arahan berikut dalam terminal:
composer create-project symfony/skeleton my-project
Salin selepas log masuk

Arahan ini akan mencipta projek Symfony baharu bernama my-project dalam direktori semasa. Selepas ini, anda boleh memulakan aplikasi Symfony dengan menjalankan arahan berikut:

cd my-project
php -S localhost:8000 -t public
Salin selepas log masuk
  1. Menggunakan Pengawal
    Dalam Symfony, pengawal digunakan untuk mengendalikan permintaan HTTP dan menjana respons. Pengawal boleh menjadi kelas atau fungsi penutupan. Dalam rangka kerja Symfony, kelas pengawal perlu mewarisi kelas SymfonyBundleFrameworkBundleControllerAbstractController.

Contoh pengawal mudah adalah seperti berikut:

<?php

namespace AppController;

use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;

class HelloController extends AbstractController
{
    public function index()
    {
        $message = "Hello Symfony";
        return new Response($message);
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami mencipta kelas yang dipanggil HelloController dan mencipta kaedah yang dipanggil indeks, Kaedah ini mengembalikan respons yang mengandungi rentetan "Hello Symfony".

Agar pengawal boleh diakses, laluan perlu ditentukan dalam penghala. Penghala memetakan permintaan kepada pengawal yang betul. Dalam pengawal, kami menggunakan anotasi untuk menentukan laluan. Berikut ialah contoh penghala mudah:

<?php

use SymfonyComponentRoutingLoaderConfiguratorRoutingConfigurator;

return function (RoutingConfigurator $routes) {
    $routes->add('hello', '/hello')
        ->controller([HelloController::class, 'index']);
};
Salin selepas log masuk

Dalam penghala di atas, kami mentakrifkan laluan bernama "hello", laluannya ialah "/hello", dan permintaan akan dihalakan ke indeks kaedah HelloController.

  1. Gunakan templat Twig
    Twig ialah enjin templat PHP moden, fleksibel dan cekap yang disepadukan dengan lancar dengan rangka kerja Symfony. Enjin templat Twig boleh membantu anda menyusun kod anda dengan lebih cekap dan juga meningkatkan kebolehgunaan semula kod. Berikut ialah contoh templat Twig yang mudah:
<!DOCTYPE html>
<html>
    <head>
        <title>Hello Symfony</title>
    </head>
    <body>
        <h1>{{ message }}</h1>
    </body>
</html>
Salin selepas log masuk

Dalam contoh templat di atas, kami menggunakan templat yang mengandungi pembolehubah mesej. Enjin templat Twig secara automatik akan menyuntik pembolehubah yang diperlukan. Berikut ialah pengubahsuaian pada pengawal dan penghala:

<?php

class HelloController extends AbstractController
{
    public function index()
    {
        return $this->render('hello.html.twig', [
            'message' => 'Hello Symfony'
        ]);
    }
}

<?php

use SymfonyComponentRoutingLoaderConfiguratorRoutingConfigurator;

return function (RoutingConfigurator $routes) {
    $routes->add('hello', '/hello')
        ->controller([HelloController::class, 'index'])
        ->methods(['GET'])
        ->defaults(['_format' => 'html']);
};
Salin selepas log masuk

Dalam contoh di atas, kami mengubah suai fungsi indeks dalam HelloController supaya ia mengembalikan templat Twig yang diberikan. Pada masa yang sama, kami juga menambah item format HTML lalai dalam penghala supaya templat Twig boleh dipaparkan dengan betul.

  1. Menggunakan Doktrin ORM
    Doktrin ialah alat pemetaan hubungan objek PHP yang popular yang membantu anda memetakan kelas PHP ke jadual pangkalan data. Menggunakan ORM Doktrin, kami boleh menggunakan pangkalan data dengan mudah dalam aplikasi Symfony.

Berikut ialah contoh entiti ringkas untuk mewakili maklumat pengguna:

<?php

namespace AppEntity;

use DoctrineORMMapping as ORM;

/**
 * @ORMEntity
 * @ORMTable(name="users")
 */
class User
{
    /**
     * @ORMId
     * @ORMGeneratedValue
     * @ORMColumn(type="integer")
     */
    private $id;
    /**
     * @ORMColumn(type="string", length=255)
     */
    private $name;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getName(): ?string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami mentakrifkan kelas entiti bernama Pengguna, yang sepadan dengan jadual pangkalan data bernama pengguna. Kami juga mentakrifkan lajur integer yang meningkat secara automatik dipanggil id dan lajur rentetan dipanggil nama.

Dalam Symfony, kami boleh menggunakan Doctrine ORM untuk membuat pertanyaan dan mengubah suai entiti dalam pangkalan data dengan mudah. Berikut ialah contoh pertanyaan mudah:

<?php

namespace AppController;

use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAnnotationRoute;
use DoctrineORMEntityManagerInterface;
use AppEntityUser;

class UserController extends AbstractController
{
    /**
     * @Route("/users/{id}", name="user_show")
     */
    public function show($id)
    {
        $user = $this->getDoctrine()
            ->getRepository(User::class)
            ->find($id);

        if (!$user) {
            throw $this->createNotFoundException(
                'No user found for id '.$id
            );
        }

        return $this->render('user/show.html.twig', [
            'user' => $user,
        ]);
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami telah menentukan kelas pengawal yang dipanggil UserController yang mempunyai kaedah yang dipanggil show yang menerima parameter ID dan mengembalikan halaman HTML yang mengandungi maklumat pengguna.

Ringkasnya, rangka kerja Symfony ialah rangka kerja PHP yang sangat berkuasa dan cekap yang boleh membantu kami membina aplikasi web berkualiti tinggi. Menggunakan Symfony, kami boleh menulis kod yang cekap, boleh diguna semula dengan pantas dan menyepadukan dengan rangka kerja dan alatan luaran, seperti templat Twig dan Doctrine ORM. Jika anda seorang pembangun PHP, saya percaya anda akan sangat menghargai penggunaan Symfony untuk menulis kod.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja Symfony dalam pengaturcaraan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan