Рубрики
Uncategorized

Использование laravel в режиме репозитория

Автор оригинала: David Wong.

laravel-репозиторий

Адрес склада на Github

Адрес Документа Репозитория

Очистить структуру каталогов

Модели отвечают только за определение моделей(например, ассоциация моделей, область действия, get, атрибут набора и т.д.)

Репозиторий обрабатывает эту таблицу Со всей соответствующей бизнес-логикой, а не просто вводит модели, любой кэш, связанный с redis, может быть введен, и код может быть быстро найден

Контроллеры отвечают только за обработку простой логики и извлечение данных пересылки. Он должен быть простым и чистым От

  • Апп

    • Http

      • Контроллер

        • Администратор

          • Индексконтроллер
          • Пользовательский контроллер
          • Контроллер конфигурации
      • Запрос (все классы проверки запроса)

        • Администратор

          • Индекс

            • Запрос на хранение
            • Запрос на обновление
            • Запрос на уничтожение
          • Пользователь

          • Конфиг

          • Запрос. php
    • Модели (все модели моделей)

      • Пользователь (все модели, связанные с пользователем)

        • Пользователь (все модели, связанные с пользователем)
        • Пользователь (все модели, связанные с пользователем)
        • Пользователь (все модели, связанные с пользователем)
      • Конфиг

        • Конфиг
      • Конфиг
    • Хранилища

      • Пользователь (все склады, связанные с пользователем)

        • Пользователь (все склады, связанные с пользователем)
        • Пользователь (все склады, связанные с пользователем)
        • Пользователь (все склады, связанные с пользователем)

Установка и использование

composer require littlebug/laravel-repository

mkdir app/Http/Requests

# Create your own Request validation base class

# Like the following file

Примерно Один Код Генерации Ключа

# After injecting commands into your laravel project

# Input

php artisan list

# If you see the following tips, you can start generating code quickly!~

 core
  Core: controller generates Controller 
     {--table=} Specifies the name of the table [Specifies that this parameter generates a view file from the table]
     {Name=} Specifies that the name can be namespace [-- name = Home / IndexController or Home\ IndexController]
     {- r=} Specifies that Repository needs to start from the Repositories directory; the default is to use the same name Repository as the controller
     {- request=} specifies the request directory; needs to start from the Requests directory; defaults to the controller namespace
     {- pk=} Specifies the primary key name, default ID
  Core: generate generates controller | model | repository | request | views 
    {- table=} Specifies the name of the table [supports the specified database, such as log. crontabs]
    {- path=} specifies the directory [no absolute path is passed, otherwise relative paths are used starting with app/Models]  
    Default Generation of Model Name Using Table Name Generation
  core:model
# Let's have a try.

# Generate code at the prompt of commands help document

# If your project uses database prefix, don't forget to add it in database. php, otherwise you won't find table.

# Take a chestnut, for example, the member_message table

php artisan core:generate --table=member_message --path=Member --controller=Member/MemberMessageController

# In the terminal you can see the following results

The file [/Users/wanchao/www/lara-test/app/Models/Member/MemberMessage.php] was successfully generated
The file [/Users/wanchao/www/lara-test/app/Repositories/Member/MemberMessageRepository.php] was successfully generated
The file [/Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/UpdateRequest.php] was successfully generated
The file [/Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/DestroyRequest.php] was successfully generated
The file [/Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/StoreRequest.php] was successfully generated

# Add Routes/web.php

Route::group(['namespace' => 'Member','prefix' => 'member'], function ($route) {
    $route->get('index', '[email protected]');
    $route->get('message', '[email protected]');
});

### Modify MemberMessage Controller
### DD Prints Data in EmberMessage Controller

public function index()
{
    $filters = Helper::filter_array(request()->all());
    $filters['order'] = 'id desc';
    $list = $this->memberMessageRepository->paginate($filters);
    dd($list);
}

# Terminal

php artisan serve

vist localhost:8001/member/message

# Instead of mechanically copying and pasting my chestnuts, you should try some tables that exist in your database.

традиция

# Maybe you want to customize your own Repository

# Create a Repository. PHP in app Repository

# Extension and partial rewriting of it, such as success and error methods, can be changed to the data format you like.

Разработанный в этом режиме, структура проекта очень понятна, использование репозитория лаконично до взрывоопасности, требуется всего несколько минут, чтобы ознакомиться с его инструкциями, вам понравится (vi)

Репозиторий использует документы

Спасибо Севену и Синьсинь за их вклад

Если этот склад поможет вам, дайте мне звездочку, чтобы подбодрить меня, я буду настаивать на сохранении этого склада.