Sobes.tech
Junior

როგორ იყენებთ ჩვეულებრივ ინსტრუმენტს Composer?

sobes.tech AI

პასუხი AI-სგან

Composer — ეს PHP-ის დამოკიდებულების მენეჯერია. ჩვეულებრივ ვიყენებ მას:

  1. მხარდამჭერ ბიბლიოთეკებისა და ფრეიმვორკების ინსტალაცია და მართვა. Composer-ის საშუალებით მარტივად შეიძლება Dependencies-ის დამატება, განახლება და წაშლა.

    // composer.json
    {
        "require": {
            "monolog/monolog": "2.0.*"
        }
    }
    
    composer install
    composer update
    composer remove monolog/monolog
    
  2. კლასების ავტოატვირთვა. Composer ქმნის ავტოატვირთველს composer.json ფაილის საფუძველზე, რაც თავიდან აცილებს ფაილების ხელით ჩართვას.

    // composer.json
    {
        "autoload": {
            "psr-4": {
                "App\\": "src/"
            }
        }
    }
    
    // index.php
    require __DIR__ . '/vendor/autoload.php';
    
    use App\MyClass;
    
    $obj = new MyClass();
    
  3. სკრიპტების განსაზღვრა. Composer-ის საშუალებით შესაძლებელია მომხმარებლის მიერ განსაზღვრული ბრძანებების განსაზღვრა, როგორიცაა ტესტირება, განთავსება ან სტატიკური ანალიზი.

    // composer.json
    {
        "scripts": {
            "test": "phpunit",
            "deploy": [
                "git push",
                "ssh user@host 'cd /var/www/html && composer install --no-dev'"
            ]
        }
    }
    
    composer test
    composer deploy
    
  4. საკუთარი ბიბლიოთეკების შექმნა და გამოქვეყნება. Composer-ს შეუძლია პროექტის სწორად სტრუქტურირება და მისი მარტივად გამოქვეყნება Packagist-ზე.

  5. PHP პაკეტის ვერსიების მართვა. Composer მხარს უჭერს სხვადასხვა ვერსიის შეზღუდვებს (მაგალითად, ~2.0, ^3.0, >=7.4) და უზრუნველყოფს თავსებადობას.

  6. გლობალური დამოკიდებულებების გამოყენება (საკმარისად იშვიათად). ზოგჯერ ვიყენებ composer global require-ს ისეთი ინსტრუმენტებისთვის, როგორიცაა PHPUnit ან PHP_CodeSniffer, მაგრამ ვამჯობინებ მათ ადგილობრივად ინსტალაციას თითოეულ პროექტში უკეთეს იზოლაციაში.

საერთო ჯამში, Composer ჩემი ყოველდღიური სამუშაოს შეუცვლელი ინსტრუმენტია, რომელიც მნიშვნელოვნად ამარტივებს პროექტებისა და დამოკიდებულებების მართვას.