1.Открываем Visual Studio Code.



2.Создать папку exam (можно любое название) куда-нибудь , только чтобы в пути не было русских названий пример:(D:\Vs).



3.Нажимаем File, Open Folder и открываем папку exam.



ЧТОБЫ ЗАПУСТИТЬ PHP/COMPOSER
ЗАПУСТИТЬ OPENSERVER ОТ ИМЕНИ АДМИНИСТРАТОРА
ПКМ ПО ФЛАЖКУ
ПРОГРАММЫ
КОНСОЛЬ
cd C:\openserver\modules\php\PHP_8.2
ДЛЯ СОЗДАНИЯ ПРОЕКТА

php composer.phar create-project laravel/laravel C:\Users\u317pc12\Desktop\tet1


ЮЗАЕМ ВМЕСТО composer, php composer.phar

4.Нажимаем Ctrl+Ё (Это открывает терминал) , в терминале прописываем composer create-project Laravel/Laravel exam (это cоздаст проект Ларавел с названием exam(можно любое название)). 



5.После создания проекта пишем n в терминале.



6.Нажимаем File, Open Folder и открываем папку exam в exam пример:(D:\Vs\exam\exam).



7.Поменять значения в .env на нужные (не забудь расскоментировать строки, выделяешь строки и жмёшь Ctrl+/) , то есть 
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=exam
DB_USERNAME=root
DB_PASSWORD=root



8.Нажимаем Ctrl+Ё , в терминале прописываем composer require laravel/breeze (Это скачает библиотеку breeze).



9.Нажимаем Ctrl+Ё , в терминале прописываем php artisan breeze:install, после в терминале прописываем blade и 2 раза enter(Это выбирает шаблон blade). 



10.Открываем xampp/xampp-control запускаем Apache и MySQL или просто Open server от администратора , в phpmyadmin входим логин:root и пароль:root и создаем базу данных с названием exam.


11.В терминале прописываем php artisan migrate (это переносит все таблицы и данные в базу данных exam).



12.@Vite удалить везде с помощью Search (Лупа кароче).(Нужно потому что он ломает blade из за того что интернета нету)



13.Cоздать модель в терминале прописываем php artisan make:model -m ,и в name прописываем provider , в database/migrations новая миграция появилась providers и в этой миграции удаляем ($table->timestamps() , и добавляем   
     $table->id("id_provider");
     $table->integer("number_phone");
     $table->string("name");
     $table->string("address"); 
(Это дает возможность создать таблицу с названием provider и с ее столбцами)



14.Заходим в app/Models/provider.php и прописываем 
class provider extends Model
{
    protected $fillable=["number_phone","name","address"];
    public $timestamps=false;
}
($fillable Определяет, какие поля разрешено массово записывать в базу, а $timestamps Отключает автоматические даты: created_at updated_at)



15.В терминале прописываем php artisan migrate(Чтобы наша таблица provider попала в бд)



16.Создать форму Пкм new file в resources\views add_provider.blade.php.и в нем прописываем
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form method="POST" action="{{ "/Provider" }}">
        <input name="number_phone">
          <input name="name">
            <input name="address">
            <button type="submit">Добавить</button>
            @CSRF
            </form>
</body>
</html>
(Это создаст страницу с добавлением данных в таблицу provider)



17. Заходим в routes/web.php здесь прописываем сверху use App\Models\Provider;

снизу
Route::post('/provider', function () {
    Provider::create(request()->all());
});
Route::get('/add_provider', function () {
    return view("add_provider",["providers"=>Provider::all()]);



18.В терминале прописываем php artisan serve(Это запускает локальный сервак кароче можешь видеть свои страницы)
Можешь прописать http://127.0.0.1:8000/add_provider это перебросит на страницу с добавлением данных.



19.Создать форму Пкм new file в resources\views view_provider.blade.php.и в нем прописываем
 <table>
    <tr>
        <th>id_provider</th>
        <th>number_phone</th>
        <th>name</th>
        <th>address</th>
    </tr>
    @foreach ($providers as $provider )
    <tr>
<td>{{ $provider->id_provider }} </td>
<td>{{ $provider->number_phone }} </td>
<td>{{ $provider->name }} </td>
<td>{{ $provider->address }} </td>
<td>
<a href="{{ route("edit", $provider->id_provider) }}">Edit</a>
<form method="POST" action="{{ route("destroy", $provider->id_provider )}}">
@CSRF 
@method("delete")
<button type="submit">Delete</button>
</form>
</td>
    </tr>
    @endforeach
</table>
(Это создаст страницу с выводом данных )



20. Создать форму Пкм new file в resources\views edit_provider.blade.php.и в нем прописываем
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form method="POST" action="{{ route("edit",$provider->id_provider) }}">
         @CSRF 
         @method("PUT")
        <input name="number_phone">
        <input name="name">
        <input name="address">
        <button type="submit">Сохранить</button>
    </form>
</body>
</html>
(Это создаст страницу с редактированием данных )



21. В web.php методы создания, методы изменения, удаления
Route::post('/Provider', function () {
    Provider::create(request()->all());
});

Route::get('/providers', function () {
    $providers = Provider::all();
    return view('view_provider', compact('providers'));
});

Route::get('/add_provider', function () {
    return view("add_provider",["providers"=>Provider::all()]);
});

Route::delete('/Destroy/{id_provider}', function ($id) {
    Provider::findOrFail($id)->delete();
})->name("destroy");

Route::get('/edit/{id_provider}', function ($id) {
$provider=Provider::findOrFail($id);
   return view('edit_provider',compact("provider"));
})->name("edit");

Route::put('/edit/{id_provider}', function ($id) {
    $provider=Provider::findOrFail($id);
    $provider->fill(request()->all())->save();
})->name("edit");
