Как управлять маршрутами в большом приложении Laravel

В этом руководстве по Laravel мы узнали, как управлять маршрутами в большом приложении Laravel. Файлы маршрутизации Laravel могут быть очень загружены. Прежде чем вы это узнаете, вам придется искать файл маршрутизации, чтобы найти что-нибудь. Как же вы с этим боретесь?

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

Я приведу простой пример, но вы можете немного проявить свое воображение! Представьте, что мы создаем приложение API, которое позволяет клиентам делать заказы онлайн из каталога и позволяет вашим клиентам отслеживать поставки.

поставщик услуг маршрутизации

Используя поставщиков маршрутов, вы можете легко добавлять дополнительные записи маршрутов. Давайте посмотрим пример:

class RouteServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        $this->configureRateLimiting();
 
        $this->routes(function (): void {
            Route::middleware('api')
                ->group(base_path('routes/api.php'));
        });
    }
}

Это похоже на RouteServiceProvider по умолчанию , который вы получаете в своем проекте Laravel. Ваши могут варьироваться в зависимости от возраста вашего приложения. Как мы можем расширить это? Мы можем добавить дополнительную маршрутную нагрузку на провайдера:

class RouteServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        $this->configureRateLimiting();
 
        $this->routes(function (): void {
            Route::middleware('api')
                ->group(base_path('routes/api.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/catalog.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/orders.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/payments.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/deliveries.php'));
        });
    }
}

Это не претендует на то, чтобы быть полностью точным. Я использую этот пример больше с некоторыми движущимися частями, которые, вероятно, будут иметь не менее 75+ маршрутов. Итак, здесь мы управляем этим в RouteServiceProvider, так что все играет центральную роль в том, как мы загружаем маршруты. Самая большая проблема, которую я заметил с этим подходом, заключается в том, что, когда вы находитесь в файле маршрутизации, вы должны знать, что еще загружается. Раньше я работал над очень большим приложением, в котором использовался этот подход, и мне приходилось много бороться, чтобы продолжать ходить туда и обратно, чтобы увидеть, загружены ли маршруты и в порядке ли они.

Открывая проект Laravel в первый раз, вам нужно обратить внимание на несколько ключевых областей: Eloquent Modes, Routes и Tests. Вы открываете файл роутинга и смотрите прописанные роуты, чтобы понять размер приложения и как все собрано.

запрос файла

Если вы установите Laravel Breeze, вы заметите, что он добавляет следующее в ваш файл route/web.php:

require __DIR__ . '/auth.php';

Это содержит маршруты авторизации, которые поставляются с пакетом, что позволяет вам свести к минимуму вашего поставщика услуг и понять, сколько дополнительных файлов необходимо проверить, чтобы увидеть все маршруты. Давайте возьмем наш пример выше и добавим маршруты в этом подходе:

// The rest of your `routes/api.php` file
 
require __DIR__ . '/resource/catalog.php';
require __DIR__ . '/resource/orders.php';
require __DIR__ . '/resource/payments.php';
require __DIR__ . '/resource/deliveries.php';

Для меня это улучшение подхода поставщика услуг, поскольку вы можете лучше видеть свое приложение при просмотре файлов маршрутизации. Тем не менее, я ненавижу запрашивать файлы. Выглядит неряшливо и лениво.

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

Для меня это можно было бы немного улучшить. Здесь нет информации, указывающей на то, как может выглядеть структура URL-адреса, или какое-либо дополнительное ПО промежуточного слоя, которое, как вы знаете, применяется ко всем маршрутам.

сломанная группа

Это мой предпочтительный подход. Мы видим, что они используются в RouteServiceProvider , откуда я и взял эту идею. Эмпирическое правило здесь заключается в том, что в вашем основном файле маршрутов (в нашем случае route/api.php ) мы создаем наши группы маршрутов так же, как мы добавляем наши маршруты вручную, а затем сообщаем группе, что ей нужно использовать отдельный файл.

// The rest of your `routes/api.php` file
 
Route::prefix('catalog')->as('catalog:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/catalog.php'),
);
 
Route::prefix('orders')->as('orders:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/orders.php'),
);
 
Route::prefix('payments')->as('payments:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/payments.php'),
);
 
Route::prefix('deliveries')->as('deliveries:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/deliveries.php'),
);

Как вы можете видеть выше, мы просто использовали вспомогательную функцию base_path для загрузки маршрутов в правильные места. Глядя на файл маршрутизации, мы видим модули, которые создают ваше приложение, но не берут на себя файл — даже если у вас будет 20-30 модулей, он все равно будет читабельным.

Отсюда мы можем управлять «функциями» и «подфункциями» в специальном файле маршрутизации, что означает меньше слоев имен классов при импорте, и есть специальные файлы, которые вы можете легко понять, когда они изолированы или находятся в содержимом всего вашего приложения. .

Как вы боретесь с предполагаемым бременем расширенного файла маршрута? Нашли интересный способ, которым хотите поделиться? Дайте нам знать в Твиттере.

Оригинальный источник статьи: https://laravel-news.com

#laravel 

What is GEEK

Buddha Community

Как управлять маршрутами в большом приложении Laravel
Seamus  Quitzon

Seamus Quitzon

1595201363

Php how to delete multiple rows through checkbox using ajax in laravel

First thing, we will need a table and i am creating products table for this example. So run the following query to create table.

CREATE TABLE `products` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
 `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
 `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
 `updated_at` datetime DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

Next, we will need to insert some dummy records in this table that will be deleted.

INSERT INTO `products` (`name`, `description`) VALUES

('Test product 1', 'Product description example1'),

('Test product 2', 'Product description example2'),

('Test product 3', 'Product description example3'),

('Test product 4', 'Product description example4'),

('Test product 5', 'Product description example5');

Now we are redy to create a model corresponding to this products table. Here we will create Product model. So let’s create a model file Product.php file under app directory and put the code below.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    protected $fillable = [
        'name','description'
    ];
}

Step 2: Create Route

Now, in this second step we will create some routes to handle the request for this example. So opeen routes/web.php file and copy the routes as given below.

routes/web.php

Route::get('product', 'ProductController@index');
Route::delete('product/{id}', ['as'=>'product.destroy','uses'=>'ProductController@destroy']);
Route::delete('delete-multiple-product', ['as'=>'product.multiple-delete','uses'=>'ProductController@deleteMultiple']);

#laravel #delete multiple rows in laravel using ajax #laravel ajax delete #laravel ajax multiple checkbox delete #laravel delete multiple rows #laravel delete records using ajax #laravel multiple checkbox delete rows #laravel multiple delete

Juned Ghanchi

1621508419

Laravel App Development Company in India, Hire Laravel Developers

Hire our expert team of Laravel app developers for flexible PHP applications across various cloud service providers.

With this easy build technology, we develop feature-rich apps that make your complex business process a lot easier. Our apps are,

  • More secure and scalable.
  • A good framework lets you manage and organize resources better.
  • And have a rich community base.

Get your business a best in classlaravel app. Hire laravel app developers in India. We have the best organizational set-up to provide you the most advanced app development services.

#laravel app development company india #hire laravel developers india #laravel app development company #hire laravel developers #laravel development agency #laravel app programmers

Как управлять маршрутами в большом приложении Laravel

В этом руководстве по Laravel мы узнали, как управлять маршрутами в большом приложении Laravel. Файлы маршрутизации Laravel могут быть очень загружены. Прежде чем вы это узнаете, вам придется искать файл маршрутизации, чтобы найти что-нибудь. Как же вы с этим боретесь?

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

Я приведу простой пример, но вы можете немного проявить свое воображение! Представьте, что мы создаем приложение API, которое позволяет клиентам делать заказы онлайн из каталога и позволяет вашим клиентам отслеживать поставки.

поставщик услуг маршрутизации

Используя поставщиков маршрутов, вы можете легко добавлять дополнительные записи маршрутов. Давайте посмотрим пример:

class RouteServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        $this->configureRateLimiting();
 
        $this->routes(function (): void {
            Route::middleware('api')
                ->group(base_path('routes/api.php'));
        });
    }
}

Это похоже на RouteServiceProvider по умолчанию , который вы получаете в своем проекте Laravel. Ваши могут варьироваться в зависимости от возраста вашего приложения. Как мы можем расширить это? Мы можем добавить дополнительную маршрутную нагрузку на провайдера:

class RouteServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        $this->configureRateLimiting();
 
        $this->routes(function (): void {
            Route::middleware('api')
                ->group(base_path('routes/api.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/catalog.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/orders.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/payments.php'));
 
            Route::middleware('api')
                ->group(base_path('routes/resource/deliveries.php'));
        });
    }
}

Это не претендует на то, чтобы быть полностью точным. Я использую этот пример больше с некоторыми движущимися частями, которые, вероятно, будут иметь не менее 75+ маршрутов. Итак, здесь мы управляем этим в RouteServiceProvider, так что все играет центральную роль в том, как мы загружаем маршруты. Самая большая проблема, которую я заметил с этим подходом, заключается в том, что, когда вы находитесь в файле маршрутизации, вы должны знать, что еще загружается. Раньше я работал над очень большим приложением, в котором использовался этот подход, и мне приходилось много бороться, чтобы продолжать ходить туда и обратно, чтобы увидеть, загружены ли маршруты и в порядке ли они.

Открывая проект Laravel в первый раз, вам нужно обратить внимание на несколько ключевых областей: Eloquent Modes, Routes и Tests. Вы открываете файл роутинга и смотрите прописанные роуты, чтобы понять размер приложения и как все собрано.

запрос файла

Если вы установите Laravel Breeze, вы заметите, что он добавляет следующее в ваш файл route/web.php:

require __DIR__ . '/auth.php';

Это содержит маршруты авторизации, которые поставляются с пакетом, что позволяет вам свести к минимуму вашего поставщика услуг и понять, сколько дополнительных файлов необходимо проверить, чтобы увидеть все маршруты. Давайте возьмем наш пример выше и добавим маршруты в этом подходе:

// The rest of your `routes/api.php` file
 
require __DIR__ . '/resource/catalog.php';
require __DIR__ . '/resource/orders.php';
require __DIR__ . '/resource/payments.php';
require __DIR__ . '/resource/deliveries.php';

Для меня это улучшение подхода поставщика услуг, поскольку вы можете лучше видеть свое приложение при просмотре файлов маршрутизации. Тем не менее, я ненавижу запрашивать файлы. Выглядит неряшливо и лениво.

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

Для меня это можно было бы немного улучшить. Здесь нет информации, указывающей на то, как может выглядеть структура URL-адреса, или какое-либо дополнительное ПО промежуточного слоя, которое, как вы знаете, применяется ко всем маршрутам.

сломанная группа

Это мой предпочтительный подход. Мы видим, что они используются в RouteServiceProvider , откуда я и взял эту идею. Эмпирическое правило здесь заключается в том, что в вашем основном файле маршрутов (в нашем случае route/api.php ) мы создаем наши группы маршрутов так же, как мы добавляем наши маршруты вручную, а затем сообщаем группе, что ей нужно использовать отдельный файл.

// The rest of your `routes/api.php` file
 
Route::prefix('catalog')->as('catalog:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/catalog.php'),
);
 
Route::prefix('orders')->as('orders:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/orders.php'),
);
 
Route::prefix('payments')->as('payments:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/payments.php'),
);
 
Route::prefix('deliveries')->as('deliveries:')->middleware(['auth:sanctum'])->group(
    base_path('routes/resources/deliveries.php'),
);

Как вы можете видеть выше, мы просто использовали вспомогательную функцию base_path для загрузки маршрутов в правильные места. Глядя на файл маршрутизации, мы видим модули, которые создают ваше приложение, но не берут на себя файл — даже если у вас будет 20-30 модулей, он все равно будет читабельным.

Отсюда мы можем управлять «функциями» и «подфункциями» в специальном файле маршрутизации, что означает меньше слоев имен классов при импорте, и есть специальные файлы, которые вы можете легко понять, когда они изолированы или находятся в содержимом всего вашего приложения. .

Как вы боретесь с предполагаемым бременем расширенного файла маршрута? Нашли интересный способ, которым хотите поделиться? Дайте нам знать в Твиттере.

Оригинальный источник статьи: https://laravel-news.com

#laravel 

Liz  Fernandes

Liz Fernandes

1670234150

Best Laravel Development Company

In the present world, PHP is a well-liked framework. Laravel is one of the most well-known frameworks out there. The popularity of Laravel is due to its expressiveness, flexibility, good controllers, strength, seamless caching, and time savings when handling tasks like routing, authentication, sessions, and many more.

Laravel is a PHP framework that everyone who knows PHP should be familiar with. The Laravel PHP framework is simple to learn and use, but it is packed with useful features. Despite rising market competition, many developers consider Laravel to be one of the best PHP frameworks available.

WPWeb Infotech is a top Laravel development company in India and the US since 2015. They develop reliable, scalable Laravel web and mobile apps using Ajax-enabled widgets, MVC patterns, and built-in tools. WPWeb Infotech has top-notch expertise in combining a variety of front- and back-end technologies like Laravel + VueJS, Laravel + Angular, and Laravel + ReactJS to create scalable and secure web architectures, so you don't have to worry about scalability and flexibility while developing your product. They understand business scale and recommend technology that fits. Agile experts reduce web and mobile app development time and risk.

When it comes to hiring Laravel developers from India, they are the best choice because their Laravel developers can work according to your time zone to provide you with hassle-free, innovative, and straightforward web development solutions. Being the most trusted Laravel development company in India, they can help you reach new heights of success, unleashing the power of the Laravel PHP framework.

Partner with one of India’s best Laravel Development Company and get the most expertise in Laravel development.

#laravel  #laravel-development #laravel-development-company #laravel-development-services #hire-laravel-developers

sophia tondon

sophia tondon

1618970788

Top Laravel Development Company India | Laravel Development Services

Laravel is a popular framework for website development, acquiring 25.85% of the PHP framework market share. As a most admired framework among PHP frameworks, it is being utilized for e-commerce, enterprise, social media, and various different types of websites.

There are more than 1 million websites worldwide available over the web that are created using Laravel. Laravel framework is the first preference of PHP developers as it allows them to develop highly scalable, flexible, and faster web applications.

Surely, you, too, would want to deliver a splendid and unhindered user experience to your target audience over the web. Laravel framework can help you achieve this pursuit at ease; all you need to do is hire Laravel developers from reliable & coveted hosts. But! There is no shortage of Laravel development companies that promise to deliver an excellent solution, but only some are able to deliver top-notch quality.

Therefore, I have decided to enlist top Laravel development companies to help you find a reliable and expert host for web development. So, stay hooked with me till the end of this article and explore the best Laravel developers in 2021.

While creating this list, I have kept the following pointers in reflection:

Years of excellence (average 8 years)
Workfolio
Rewards & Recognition
Client rating & feedback
Hourly/Monthly Price
Number of happy clients
Number of successfully launched projects
Minimum man-years experience
So, let’s not waste a minute and glance at top Laravel development companies to hire for creating excellent web solutions.

Read More - https://www.valuecoders.com/blog/technology-and-apps/top-laravel-development-companies-to-hire-experts/

#hire a laravel developer #hire laravel developer #hire laravel developers #laravel developer for hire #laravel developers #laravel developers for hire