PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Monday, January 24, 2022

[FIXED] Composer doesnt update autoload namespace

 January 24, 2022     composer-php, namespaces, php     No comments   

Issue

Composer not updating autoload_namespaces.php file, despite downloading package normaly. Can't understand where i did a mistake. If i load something from packagist, namespaces file updating successfully.

Project structure

Structure

Main Composer.json

{
    "repositories":[
        {
            "type": "package",
            "package": {
                "name": "test/framework",
                "version": "1.0.0.1",
                "dist": {
                    "url": "http://localhost/repo/1.zip",
                    "type": "zip"
                }
            }
        }
    ],

    "require": {
        "test/framework": "*"
    }
}

Package composer.json

{
    "name": "test/framework",
    "type": "library",
    "require": {
        "php": ">=5.2.4"
    },
    "autoload": {
        "psr-0" : {
            "Test" : "lib/"
        }
    }
}

autoload_namespaces.php

<?php

// autoload_namespaces.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
);

Solution

You are downloading the package defined in the repositories via zip.

https://getcomposer.org/doc/05-repositories.md#package-2

In this case I feel you should define the package definition at the same place. See the above link for the example which contains autoload definition defined.

{
    "repositories":[
        {
            "type": "package",
            "package": {
                "name": "test/framework",
                "version": "1.0.0.1",
                "dist": {
                    "url": "http://localhost/repo/1.zip",
                    "type": "zip"
                },
                "autoload": {
                    "psr-4" : {
                        "Test\\": "lib"
                    }
                }
            }
        }
    ],

    "require": {
        "test/framework": "*"
    }
}

You can also try some variation see my post over http://harikt.com/blog/2014/05/29/hidden-gems-of-composer/

PS : psr-4 is the recommended way for it can autoload psr-0 structured classes. See https://getcomposer.org/doc/04-schema.md#autoload



Answered By - Hari K T
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing