How To Establish And Autoload Your Own PHP Package?

By on Jan 14, 2021 in Beginners, PHP

Share On GoogleShare On FacebookShare On Twitter

If you have never build a PHP package, then it could be a difficult task for you to start with it. So, in this section, you will get to know about the step by step process to autoload and establish your PHP package.

Primary Ways To Follow

There are specifically three different ways in which you can work on your package. Although one of the best ways is to hire PHP programmer india, you can try following the below-mentioned ways:

But, in case you are facing any sorts of difficulties at any stage of the procedure, then the best way is to hire php programmer who will help you to complete this.

Settling On Your Namespace

The most important step is to choose the namespace. For extension of a Socialite class, you will always need custom code. This is also required for the gradual implementation of a Socialite interface.

So, you should select your namespace and class very carefully. In case, you are considering to make a package on Packagist as name/socialite-providers, thereby the namespace would be most probably name/SocialiteProviders.

Also, the class can be MaceBookProvider which contributes to providing the specific ability for the users to log into MaceBook.com.

Building Your File

The next step includes the creation of file which appears something like this:


namespace name\SocialiteProviders;

use Laravel\Socialite\Two\AbstractProvider;

use Laravel\Socialite\Two\ProviderInterface;

class MaceBookProvider extends AbstractProvider implements ProviderInterface


            // ...


But, again the question arises, where does this specific file go?

This is considered to be an ordinary pattern to particularly have a folder in your application with the folder name of src/ and that have the presence of your custom PHP code.

But, in case you do not want to put it in src/, you have the option to make a completely new folder similar to src/. You can name these packages/. Also, you can put the rest of them in packages/.

Again, if you want to treat the packages/folder as the representative of your namespace, then you can consider the addition of a subfolder SocialiteProviders for the representation of the customer repo.

Putting In Your Autoloader

Whenever you hire php programmer, they will guide you throughout the process. But, if you are doing it on your own, then you should teach Composer that any specific files in packages need to be treated as being name/.

After that, you can make use of this directory tree along with the filenames for the proper definition of the rest of their namespaces.

In this aspect, you could be more precise by editing your composer.json and then, scrolling down to the autoload key. But, in case you are making use of an updated framework such as Laravel, then you will observe a PSR-4 entry there similar to this:

            "autoload": {

            "psr-4": {

            "App\\": "app/"


Now, you will have to modify this specific code:

            "autoload": {

            "psr-4": {

            "App\\": "app/",

            "name \\": "packages/"


Although, you can stop at this stage, if you want to take it to the next level, then follow the below-mentioned steps:

If Package Requires Dependencies

The above-mentioned solutions are not considered to be enough if you are focusing to distribute the package. In this aspect, the specific package might possess its Composer dependencies.

Again, in case, you focus to keep the particular list separate instead of adding them to the composer.json of the parent application, then follow the below-mentioned steps:






Steps For Autoloading A Package Outside The Git Repo By Making Use Of “Path”

To autoload a completely new package, you will have to consider modification of your composer.json. This is required if you want to treat the ‘Path” as a valid Composer source.

Making Your Package Composer-Ready

In this case, you need to make sure that your completely new package possesses a suitable composer.json in it. You would be able to create that specifically by moving to the directory of your package and thereby, running composer in it.

You can also select which of the prompts to follow for the creation of this specific file. But, the most integral thing is to provide a valid name to the package which is in a namespace.

Loading Of The Package

You would be able to load the specific package by making use of the “path” type repository key. Again, the repository key will contain many different objects and  you should consider the addition of your first object:


            // require, require-dev, etc.

            "repositories": [


            "type": "path",

            "url": "../BestPackage"




Requiring That Package

Ultimately, you can require that particular package.

composer require name/best-package

Final Words

So, the above-discussed ones are considered to be some of the major steps in which you can autoload and also establish your PHP package. For this, you can also hire PHP programmer.

But one of the problems associated with this method is that your package would not deploy along with your repo.

Therefore, you will need to set the package parallel to your specific app on other servers. Also, this is known to be a great option for the preparation of real package distribution.

Hermit Chawla
468 ad