Rumah > rangka kerja php > Laravel > laravel tidak dapat memahami kod sumber rangka kerja

laravel tidak dapat memahami kod sumber rangka kerja

PHPz
Lepaskan: 2023-05-20 15:03:08
asal
555 orang telah melayarinya

Laravel ialah rangka kerja PHP yang popular, tetapi bagi ramai pemula, membaca kod sumber rangka kerja adalah sangat sukar. Artikel ini akan cuba menerangkan struktur kod dan bahagian penting Laravel untuk membantu pembaca memahami rangka kerja ini dengan lebih baik.

Struktur kod Laravel

Struktur kod Laravel sangat jelas Seluruh rangka kerja diuraikan menjadi berbilang modul bebas, setiap modul mempunyai tanggungjawab dan fungsi khusus. Struktur ini menjadikan Laravel lebih mudah untuk dikekalkan dan dibangunkan. Berikut ialah penjelasan mengenai direktori dan fail utama Laravel:

  1. apl
    Direktori ini mengandungi kod teras untuk aplikasi Laravel. Blok binaan terasnya ialah pengawal, pandangan, model dan laluan.
  2. bootstrap
    Direktori ini mengandungi kod yang dilaksanakan apabila aplikasi Laravel bermula. Jika anda mengetahui rangka kerja PHP, maka direktori ini akan biasa kepada anda, seperti memuatkan kelas secara automatik, memuatkan fail konfigurasi, dsb.
  3. config
    Direktori ini mengandungi fail konfigurasi aplikasi.
  4. pangkalan data
    Direktori ini mengandungi migrasi pangkalan data dan fail pengisian data.
  5. awam
    Direktori ini mengandungi titik capaian awam aplikasi Titik masuk aplikasi ialah fail index.php.
  6. sumber
    Direktori ini mengandungi beberapa aset khusus aplikasi (seperti fail konfigurasi, paparan, fail bahasa, fail JavaScript dan fail CSS).
  7. laluan
    Direktori ini mengandungi fail penghalaan aplikasi, iaitu, pemetaan url kepada pengawal.
  8. storan
    Direktori ini mengandungi beberapa fail yang dijana oleh Laravel, seperti fail log, cache yang dijana oleh rangka kerja, fail yang dijana oleh rangka kerja, seperti cache laluan dan pandangan yang dijana oleh rangka kerja.
  9. ujian
    Direktori ini mengandungi folder ujian untuk menguji aplikasi.
  10. penjual
    Direktori ini mengandungi kod untuk pakej bergantung. Rangka kerja Laravel bergantung pada beberapa pakej yang dibangunkan sendiri dan pakej lain.

Beberapa kod utama Laravel

Dalam struktur kod Laravel, kami menumpukan pada kod dalam folder app.

Pengawal

Pengawal ialah bahagian utama Laravel yang bertindak balas kepada permintaan HTTP dalam aplikasi anda. Anda akan melihat semua kelas pengawal dalam folder app/Http/Controllers. Berikut ialah contoh pengawal:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;
use AppHttpControllersController;

class UserController extends Controller
{
    /**
     * 显示指定用户的个人资料
     *
     * @param  int  $id
     * @return Response
     */
    public function show($id)
    {
        return view('user.profile', ['user' => User::findOrFail($id)]);
    }
}
Salin selepas log masuk

Dalam pengawal, kita boleh menentukan kaedah yang berbeza untuk menyelesaikan situasi yang berbeza Contohnya, parameter $id boleh dikendalikan oleh kaedah show(), yang akan mengembalikan ID. daripada pandangan dan pengguna.

Model

Model ialah cara menangani pangkalan data dalam Laravel Ia adalah kelas PHP yang dikaitkan dengan jadual pangkalan data. Dalam folder app, pelbagai model disimpan dalam folder app/Models, seperti contoh berikut Model pengguna:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    /**
     * 模型的默认属性值。
     *
     * @var array
     */
    protected $attributes = [
        'can_send_email' => false,
    ];
}
Salin selepas log masuk

Dalam model, kita boleh menentukan atribut dan kaedah yang berbeza untuk melaksanakan operasi Jadual pangkalan data, seperti atribut $attributes, boleh menetapkan nilai atribut lalai model Anda boleh mendapatkan model Pengguna seperti berikut:

$user = AppModelsUser::find($id);
Salin selepas log masuk

View

View digunakan untuk menjadikannya boleh dibaca kepada. pengguna. Satu cara penyampaian data dan maklumat. Semua fail paparan boleh dilihat di bawah folder resources/views. Paparan biasanya mengandungi kod HTML, CSS dan JavaScript.

Berikut ialah contoh templat Blade yang mudah:

<!doctype html>
<html>
    <head>
        <title>Laravel</title>
    </head>
    <body>
        <div class="container">
            @yield('content')
        </div>
    </body>
</html>
Salin selepas log masuk

Dalam templat contoh ini, kita boleh menentukan pengepala dan bekas untuk menyarangkan kandungan halaman dan memasukkan kandungan melalui @yield('content').

Penghalaan

Penghalaan digunakan untuk memadankan URL dengan kod dalam aplikasi Fail penghalaan yang sepadan dalam Laravel boleh didapati dalam routes/web.php. Berikut ialah contoh laluan:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersUserController;

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

Dalam laluan contoh ini, kami telah mencipta corak URL untuk permintaan pengguna dan semua permintaan akan dikendalikan dalam kaedah UserController::show().

Ringkasan

Struktur kod dan bahagian teras Laravel tertumpu terutamanya dalam folder app. Pengawal, model, pandangan dan penghalaan adalah empat bahagian yang sangat penting dalam Laravel. Selagi anda mengetahui cara bahagian ini dilaksanakan dalam kod, anda boleh lebih memahami pengendalian Laravel. Sudah tentu, pembangun Laravel sentiasa menambah ciri baharu pada bahagian ini, jadi proses pembelajaran Laravel juga sedang berjalan.

Atas ialah kandungan terperinci laravel tidak dapat memahami kod sumber rangka kerja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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