Jadual Kandungan
Pengenalan Pengawal
Pengawal Asas
Perisian Tengah Pengawal
Pengawal Sumber
部分资源路由" >部分资源路由
嵌套资源
命名资源路由
命名资源路由参数
限定范围的资源路由
本地化资源 URI" >本地化资源 URI
补充资源控制器
依赖注入 & 控制器
路由缓存" >路由缓存
Rumah rangka kerja php Laravel Apakah pengawal laravel

Apakah pengawal laravel

Jan 14, 2023 am 11:16 AM
php laravel pengawal

Dalam laravel, pengawal (Pengawal) ialah kelas yang digunakan untuk melaksanakan fungsi tertentu, pengawal boleh menggabungkan logik pemprosesan permintaan yang berkaitan ke dalam kelas yang berasingan. Sesetengah kaedah disimpan dalam pengawal untuk melaksanakan fungsi tertentu Pengawal dipanggil melalui penghalaan, dan fungsi panggil balik tidak lagi digunakan dalam direktori "app/Http/Controllers".

Apakah pengawal laravel

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 6, komputer DELL G3.

Pengenalan Pengawal

1.

Untuk menggantikan semua logik pemprosesan permintaan yang ditakrifkan dalam bentuk penutupan dalam fail laluan, anda mungkin mahu menggunakan kelas kawalan untuk mengatur tingkah laku ini. Pengawal boleh mengumpulkan logik pemprosesan permintaan berkaitan ke dalam kelas yang berasingan.

Pengawal ialah kelas yang digunakan untuk melaksanakan fungsi tertentu Beberapa kaedah disimpan dalam pengawal untuk melaksanakan fungsi tertentu Pengawal dipanggil melalui penghalaan dan fungsi panggil balik tidak lagi digunakan.

2. Di manakah pengawal itu ditulis?

App/Http/Controllers letakkan pengawal

Controller.php ialah fail kelas induk, pengawal lain boleh mewarisi

3. Bagaimana untuk menamakan fail pengawal?

Nama pengawal bonggol tinggi +Controller.php

Contohnya, AddDataController.php LoginController.php

4 Bagaimana untuk menulis struktur peranti?

Dijana secara automatik melalui arahan artisan, sebagai contoh: Pastikan anda memasukkan dalam direktori akar projek semasa pada baris arahan:

php artisan make:controller TestController
Salin selepas log masuk

Kod struktur ialah dilengkapkan secara automatik,

   namespace App\Http\Controller;
   use Illuminate\Http\Request;    
   class TestController extends  Controller{
     //
   }
Salin selepas log masuk

Pengawal Asas

Define Controller

Berikut ialah contoh kelas pengawal asas. Perlu diingatkan bahawa pengawal ini mewarisi pengawal asas Laravel. Kelas pengawal ini menyediakan beberapa kaedah kemudahan, seperti kaedah middleware, yang menambahkan perisian tengah pada tingkah laku pengawal:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Models\User;

class UserController extends Controller
{
    /**
     * 显示指定用户的简介
     *
     * @param  int  $id
     * @return \Illuminate\View\View
     */
    public function show($id)
    {
        return view(&#39;user.profile&#39;, [&#39;user&#39; => User::findOrFail($id)]);
    }
}
Salin selepas log masuk

Anda boleh menentukan laluan yang menghala ke tingkah laku pengawal seperti ini:

use App\Http\Controllers\UserController;

Route::get(&#39;user/{id}&#39;, [UserController::class, &#39;show&#39;]);
Salin selepas log masuk

Apabila permintaan sepadan dengan URI laluan yang ditentukan, kaedah UserController dalam pengawal show akan dilaksanakan. Parameter laluan juga akan dihantar kepada kaedah ini.

Petua: Pengawal tidak diperlukan untuk mewarisi daripada kelas asas. Jika pengawal tidak mewarisi daripada kelas asas, anda tidak akan dapat menggunakan beberapa ciri kemudahan, seperti kaedah middleware, validate dan dispatch.

Pengawal Tingkah Laku Tunggal

Jika anda ingin menentukan pengawal yang hanya mengendalikan satu gelagat, anda boleh meletakkan Kaedah __invoke:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Models\User;

class ShowProfile extends Controller
{
    /**
     * 显示指定用户的简介
     *
     * @param  int  $id
     * @return \Illuminate\View\View
     */
    public function __invoke($id)
    {
        return view(&#39;user.profile&#39;, [&#39;user&#39; => User::findOrFail($id)]);
    }
}
Salin selepas log masuk

Tidak perlu menentukan kaedah semasa mendaftarkan laluan pengawal tingkah laku tunggal:

use App\Http\Controllers\ShowProfile;

Route::get(&#39;user/{id}&#39;, ShowProfile::class);
Salin selepas log masuk

Anda boleh lulus perintah make:controller dalam alat arahan Artisan. Pilihan --invokable untuk menjana pengawal boleh panggil

php artisan make:controller ShowProfile --invokable
Salin selepas log masuk

Petua: Anda boleh menggunakan stub untuk menyesuaikan templat pengawal tersuai

Perisian Tengah Pengawal

Perisian Tengah Laluan yang boleh diberikan kepada pengawal dalam fail laluan:

Route::get(&#39;profile&#39;, [UserController::class, &#39;show&#39;])->middleware(&#39;auth&#39;);
Salin selepas log masuk

Walau bagaimanapun, dalam kawalan Ia lebih mudah untuk menentukan perisian tengah dalam pembina pembina. Middleware boleh diperuntukkan dengan mudah kepada pengawal menggunakan kaedah middleware dalam pembina pengawal. Anda juga boleh mengehadkan perisian tengah untuk hanya berkuat kuasa pada kaedah tertentu dalam pengawal:

class UserController extends Controller
{
    /**
     * 实例化一个新的控制器实例
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware(&#39;auth&#39;);

        $this->middleware(&#39;log&#39;)->only(&#39;index&#39;);

        $this->middleware(&#39;subscribed&#39;)->except(&#39;store&#39;);
    }
}
Salin selepas log masuk

Pada masa yang sama, pengawal juga membenarkan anda mendaftar perisian tengah menggunakan penutupan. Ini menyediakan cara yang mudah untuk mentakrifkan middleware untuk satu pengawal tanpa mentakrifkan keseluruhan kelas middleware:

$this->middleware(function ($request, $next) {
    // ...

    return $next($request);
});
Salin selepas log masuk

Petua: Anda boleh menetapkan middleware kepada tindakan pengawal subset . Walau bagaimanapun, ini mungkin tanda bahawa pengawal anda menjadi rumit. Anda disyorkan agar memisahkan pengawal kepada beberapa pengawal yang lebih kecil.

Pengawal Sumber

Penghalaan sumber Laravel boleh memperuntukkan laluan "CURD (Buat, Padam, Ubah Suai, Semak)" biasa melalui satu baris kod kepada pengawal. Contohnya, anda ingin mencipta pengawal yang mengendalikan semua permintaan HTTP untuk apl Simpan Foto. Anda boleh mencipta pengawal sedemikian dengan cepat menggunakan perintah Artisan make:controller:

php artisan make:controller PhotoController --resource
Salin selepas log masuk

Arahan ini akan menjana pengawal app/Http/Controllers/PhotoController.php. Ini termasuk kaedah untuk setiap operasi sumber yang tersedia.

Seterusnya, anda boleh mendaftarkan laluan sumber dengan pengawal:

Route::resource(&#39;photos&#39;, PhotoController::class);
Salin selepas log masuk

Pengisytiharan laluan tunggal ini mencipta berbilang laluan untuk mengendalikan pelbagai gelagat pada sumber. Pengawal yang dijana mengekalkan kaedah untuk setiap tindakan, termasuk anotasi deklaratif untuk mengendalikan kata kerja HTTP dan URL.

Anda boleh mencipta berbilang pengawal sumber serentak dengan menghantar parameter tatasusunan ke dalam kaedah resources:

Route::resources([
    &#39;photos&#39; => PhotoController::class,
    &#39;posts&#39; => PostController::class,
]);
Salin selepas log masuk

Pemprosesan Operasi Pengawal Sumber

VerbURIActionRoute Name
GET/photosindexphotos.index
GET/photos/createcreatephotos.create
POST/photosstorephotos.store
GET/photos/{photo}showphotos.show
GET/photos/{photo}/editeditphotos.edit
PUT/PATCH/photos/{photo}updatephotos.update
DELETE/photos/{photo}destroyphotos.destroy

指定资源模型

如果你使用了路由模型绑定,并且想在资源控制器的方法中使用类型提示,你可以在生成控制器的时候使用 --model 选项:

php artisan make:controller PhotoController --resource --model=Photo
Salin selepas log masuk

当声明资源路由时,你可以指定控制器处理的部分行为,而不是所有默认的行为:

Route::resource(&#39;photos&#39;, PhotoController::class)->only([
    &#39;index&#39;, &#39;show&#39;
]);

Route::resource(&#39;photos&#39;, PhotoController::class)->except([
    &#39;create&#39;, &#39;store&#39;, &#39;update&#39;, &#39;destroy&#39;
]);
Salin selepas log masuk

API 资源路由

当声明用于 APIs 的资源路由时,通常需要排除显示 HTML 模板的路由(如 createedit )。为了方便起见,你可以使用 apiResource 方法自动排除这两个路由:

Route::apiResource(&#39;photos&#39;, PhotoController::class);
Salin selepas log masuk

你也可以传递一个数组给 apiResources 方法来同时注册多个 API 资源控制器:

Route::apiResources([
    &#39;photos&#39; => PhotoController::class,
    &#39;posts&#39; => PostController::class,
]);
Salin selepas log masuk

要快速生成不包含 createedit 方法的用于开发接口的资源控制器,请在执行 make:controller 命令时使用 --api 参数:

php artisan make:controller API/PhotoController --api
Salin selepas log masuk

嵌套资源

有时可能需要定义一个嵌套的资源型路由。例如,照片资源可能被添加了多个评论。那么可以在路由中使用 “点” 符号来声明资源型控制器:

Route::resource(&#39;photos.comments&#39;, PhotoCommentController::class);
Salin selepas log masuk

该路由会注册一个嵌套资源,可以使用如下 URI 访问:

/photos/{photo}/comments/{comment}
Salin selepas log masuk

限定嵌套资源的范围

Laravel 的 隐式模型绑定 特性可以自动限定嵌套绑定的范围,因此已解析的子模型会自动属于父模型。定义嵌套路由时,使用 scoped 方法,可以开启自动范围限定,也可以指定 Laravel 应该按照哪个字段检索子模型资源

Route::resource(&#39;photos.comments&#39;, PhotoCommentController::class)->scoped([
    &#39;comment&#39; => &#39;slug&#39;,
]);
Salin selepas log masuk

这个路由会注册一个限定范围的嵌套资源路由,可以像下面这样来访问:

/photos/{photo}/comments/{comment:slug}
Salin selepas log masuk

浅层嵌套

通常,并不完全需要在 URI 中同时拥有父 ID 和子 ID ,因为子 ID 已经是唯一的标识符。当使用唯一标识符(如自动递增的主键)来标识 URI 中的模型时,可以选择使用「浅嵌套」的方式定义路由:

Route::resource(&#39;photos.comments&#39;, CommentController::class)->shallow();
Salin selepas log masuk

上面的路由定义方式会定义以下路由:

HTTP 方式URI行为路由名称
GET/photos/{photo}/commentsindexphotos.comments.index
GET/photos/{photo}/comments/createcreatephotos.comments.create
POST/photos/{photo}/commentsstorephotos.comments.store
GET/comments/{comment}showcomments.show
GET/comments/{comment}/editeditcomments.edit
PUT/PATCH/comments/{comment}updatecomments.update
DELETE/comments/{comment}destroycomments.destroy

命名资源路由

默认情况下,所有的资源控制器行为都有一个路由名称。你可以传入 names 数组来覆盖这些名称:

Route::resource(&#39;photos&#39;, PhotoController::class)->names([
    &#39;create&#39; => &#39;photos.build&#39;
]);
Salin selepas log masuk

命名资源路由参数

默认情况下,Route::resource 会根据资源名称的「单数」形式创建资源路由的路由参数。你可以在选项数组中传入 parameters 参数来轻松地覆盖每个资源。parameters 数组应该是资源名称和参数名称的关联数组:

Route::resource(&#39;users&#39;, AdminUserController::class)->parameters([
    &#39;users&#39; => &#39;admin_user&#39;
]);
Salin selepas log masuk

上例将会为资源的 show 路由生成如下的 URI :

/users/{admin_user}
Salin selepas log masuk

限定范围的资源路由

有时,在定义资源路由时隐式绑定了多个 Eloquent 模型,你希望限定第二个 Eloquent 模型必须为第一个 Eloquent 模型的子模型。例如,考虑这样一个场景,通过 slug 检索某个特殊用户的一篇文章:

use App\Http\Controllers\PostsController;Route::resource(&#39;users.posts&#39;, PostsController::class)->scoped();
Salin selepas log masuk

你可以通过给 scoped 方法传递一个数组来覆盖默认的模型路由键:

use App\Http\Controllers\PostsController;Route::resource(&#39;users.posts&#39;, PostsController::class)->scoped([
    &#39;post&#39; => &#39;slug&#39;,
]);
Salin selepas log masuk

当使用一个自定义键的隐式绑定作为嵌套路由参数时,Laravel 会自动限定查询范围,按照约定的命名方式去父类中查找关联方法,然后检索到对应的嵌套模型。在这种情况下,将假定 User 模型有一个叫 posts(路由参数名的复数)的关联方法,通过这个方法可以检索到 Post 模型。

默认情况下,Route::resource 将会用英文动词创建资源 URI。如果需要自定义 createedit 行为的动作名,可以在 AppServiceProviderboot 中使用 Route::resourceVerbs 方法实现:

use Illuminate\Support\Facades\Route;

/**
 * 引导任何应用服务。
 *
 * @return void
 */
public function boot()
{
    Route::resourceVerbs([
        &#39;create&#39; => &#39;crear&#39;,
        &#39;edit&#39; => &#39;editar&#39;,
    ]);
}
Salin selepas log masuk

动作被自定义后,像 Route::resource(&#39;fotos&#39;, &#39;PhotoController&#39;) 这样注册的资源路由将会产生如下的 URI:

/fotos/crear

/fotos/{foto}/editar
Salin selepas log masuk

补充资源控制器

如果您需要增加额外的路由到默认的资源路由之中,您需要在 Route::resource 前定义它们;否则, resource 方法定义的路由可能会无意间优先于您定义的路由:

Route::get('photos/popular', [PhotoController::class, 'popular']);

Route::resource(&#39;photos&#39;, PhotoController::class);
Salin selepas log masuk

技巧:记得保持您的控制器的专一性。如果您需要典型的资源操作以外的方法,请考虑将您的控制器分割为两个更小的控制器。

依赖注入 & 控制器

构造注入

Laravel 服务容器 被用于解析所有的 Laravel 控制器。因此,您可以在控制器的构造函数中使用类型提示需要的依赖项。声明的解析会自动解析并注入到控制器实例中去:

<?php

namespace App\Http\Controllers;

use App\Repositories\UserRepository;

class UserController extends Controller
{
    /**
     * 用户 repository 实例。
     */
    protected $users;

    /**
     * 创建一个新的控制器实例。
     *
     * @param  UserRepository  $users
     * @return void
     */
    public function __construct(UserRepository $users)
    {
        $this->users = $users;
    }
}
Salin selepas log masuk

您亦可类型提示 Laravel 契约 ,只要它能够被解析。取决于您的应用,注入依赖到控制器可能会提供更好的可测试性。

方法注入

除了构造器注入以外,您亦可在控制器方法中类型提示依赖。最常见的用法便是注入 Illuminate\Http\Request 到您的控制器方法中:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * 保存一个新用户。
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        $name = $request->name;

        //
    }
}
Salin selepas log masuk

如果您的控制器方法要从路由参数中获取输入内容,请在您的依赖项之后列出您的路由参数。例如,您可以像下方这样定义路由:

Route::put(&#39;user/{id}&#39;, [UserController::class, &#39;update&#39;]);
Salin selepas log masuk

如下所示,您依然可以类型提示 Illuminate\Http\Request 并通过定义您的控制器方法访问 id 参数:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * 修改指定的用户。
     *
     * @param  Request  $request
     * @param  string  $id
     * @return Response
     */
    public function update(Request $request, $id)
    {
        //
    }
}
Salin selepas log masuk

如果您的应用仅使用了基于路由的控制器,您应该充分利用 Laravel 路由缓存。使用路由缓存将会大幅降低您的应用路由的注册时间。有时,您的路由注册的速度可能会提高 100 倍。要生成路由缓存,仅需执行 route:cache Artisan 命令:

php artisan route:cache
Salin selepas log masuk

在运行该命令后,每次请求将会加载您缓存的路由文件。请记住,您每次添加新路由后均需要生成新的路由缓存。因此,您应该在项目部署时才运行 route:cache 命令。

您亦可使用 route:clear 来清除路由缓存:

php artisan route:clear
Salin selepas log masuk

【相关推荐:laravel视频教程

Atas ialah kandungan terperinci Apakah pengawal laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles