baks-dev/avito-products
Модуль baks-dev/avito-products для PHP 8.4+: интеграция и управление продукцией Avito в проектах на Laravel/PHP. Установка через Composer, поддержка тестов PHPUnit (group=avito-products). Версия 7.4.13, лицензия MIT.
baks-dev/core-dependent) masquerading as a Laravel solution. Laravel’s Eloquent, Blade, and service container are incompatible with Symfony’s Doctrine, Twig, and autowiring, requiring manual bridging or abandonment of core features.baks-dev/core introduces Symfony’s Container, EventDispatcher, and Doctrine—conflicting with Laravel’s Illuminate\Container and Eloquent.AvitoProducts::products()) likely wrap Symfony services.Http client (avoiding Symfony entirely).| Risk | Severity | Mitigation |
|---|---|---|
| Symfony-Laravel Conflict | Critical | Isolate in a microservice or replace. |
| Undocumented Laravel Usage | High | Assume no native Laravel support. |
| Abandoned Package (0 stars) | High | Fork or replace if critical. |
| Avito-Specific Logic | Medium | May not fit non-Russian marketplaces. |
| Performance Overhead | Medium | Symfony bundles add ~20–30% overhead. |
Http client + Guzzle.spatie/laravel-activitylog for tracking).HttpClient + Queue can replace these.filament/spatie-laravel-medialibrary + custom API wrappers.laravel-scout with Elasticsearch.Http client.$products = Http::withHeaders([
'Authorization' => 'Bearer ' . config('services.avito.token'),
])->get('https://api.avito.ru/products.json?q=laptops');
baks-dev/avito-products in a separate Symfony app.graphql-php) or gRPC.GuzzleHttp for API calls.Laravel Scout for search.Laravel Queues for async processing.Laravel Nova/Filament for admin panels./products, /categories).Container, Routing, and Eloquent.
// Symfony Doctrine Entity → Laravel Eloquent Model
class AvitoProduct extends Model {
protected $table = 'avito_products';
protected $casts = ['price' => 'float', 'created_at' => 'datetime'];
}
HttpClient for OAuth2.Sanctum or Passport for token management.AvitoProducts::products()->get() calls to Laravel’s Http client.// Before (Symfony)
$products = AvitoProducts::products()->get(['q' => 'laptops']);
// After (Laravel)
$products = Http::get('https://api.avito.ru/products.json', [
'q' => 'laptops',
'headers' => ['Authorization' => 'Bearer ...'],
]);
// Symfony bundle logic → Laravel service
class AvitoProductParser {
public function parseRawResponse($raw) {
return collect($raw['items'])->map(function ($item) {
return [
'title' => $item['title'],
'price' => $item['price'] / 100, // Convert kopeks to rubles
];
});
}
}
baks-dev/avito-products and replace with custom Laravel solutions.baks-dev/core).baks-dev/core for breaking changes (e.g., Symfony 6→7).baks-dev/core may pull in unnecessary Symfony packages (e.g., Twig, SensioFramework).replace or custom installers to exclude unused dependencies.ContainerException) require cross-framework expertise.app() containerHow can I help you explore Laravel packages today?