php composer 实现类的自动加载-composer

TP5 自动加载机制详解

这次给大家带来Yii2框架类自动加载使用详解,Yii2框架类自动加载的注意事项有哪些,下面就是实战案例,一起来看一下。在yii中,程序中需要使用到的类无需事先加载其类文件,在使用的时候才自动定位类文件位置并加...

我们在开发项目中会经常用到第三方的类库插件,但是如果每次需要使用的时候都会在代码的某一处去引入,然后在实例化,这样做感觉很不方便,那么怎么实现自动加载呢,下面简单介绍使用composer实现自动加载:

原文地址:小时刻个人博客>http://small.aiweimeng.top/index.php/archives/11.html

 1.首先需要安装composer
安装地址(中国镜像): https://pkg.phpcomposer.com/#how-to-install-composer
根据它的说明一步一步进行安装
2.安装好composer以后创建一个工作目录,eg:work
3.在项目目录根目录下建立一个composer.json文件,格式如下:(注意必须为空的json格式文件)

{

}

4.打开命令行控制台cmd,进入工作目录work,运行composer命令:

composer install

5.运行后会生成composer文件目录:

- Vendor

 - composer

    - autoload_classmap.php

    - autoload_namespaces.php

    - autoload_psr4.php

    - autoload_real.php

    - autoload_static.php

    ClassLoader.php

    installed.json

    LICENSE

 - autoload.php

- composer.json

6.打开composer.json文件:
共有四种方式:
PSR-0(不推荐使用);
PSR-4;
Class-map;
Files;
下面演示PSR-4实现自动加载:

"autoload": {

   "psr-4": { 
       "src\\": "src/"
    }
}

代码中```命名空间```(不知道命名空间的话,最好先去搜索查一下)习惯为```目录名/文件名```
7.新建src目录,在目录下创建IndexController.php,php文件内容如下:

//设置命名空间
namespace src;
class IndexController
{
    public function index()
    {
        echo 'indexController';
    }
}

8.使用刚创建的IndexController类:
在work根目录创建index.php:

//引入vendor下的autoloas.php
require 'vendor/autoload.php';
//实例化对象
$index = new src\\IndexController();
//调用类中的方法
$index->index();

运行后会出现报错:

class IndexController not fund

打开控制台,进入到work文件目录,运行composer命令:

composer dump-autoload


在运行work下的index.php,不报错误信息说明已经成功实现自动加载了。
9.在work下的index.php文件中我们实例化IndexController类的时,格式为```new src\\IndexController();```;
如果命名空间较长的情况下,看起来不太方便,那我们可以用```use```来引入关键字,修改index.php代码如下:

use src\IndexController;

//引入vendor下的autoloas.php
require 'vendor/autoload.php';
//修改后的实例化
$index = new IndexController();
//调用类中的方法
$index->index();

在运行index.php结果和上面一样。
**注意:**在配置完composer.json以后一定要运行```composer dump-autoload```不然会出现class not fund;

Yii2框架类自动加载使用详解

这次给大家带来Yii2框架类自动加载使用详解,Yii2框架类自动加载的注意事项有哪些,下面就是实战案例,一起来看一下。在yii中,程序中需要使用到的类无需事先加载其类文件,在使用的时候才自动定位类文件位置并加...

Yii2框架类自动加载机制实例分析

这篇文章主要介绍了Yii2框架类自动加载机制,结合实例形式分析了Yii框架类自动加载机制的原理与实现方法,需要的朋友可以参考下本文实例讲述了Yii2框架类自动加载机制。分享给大家供大家参考,具体如下:在yii中,...

详细介绍php自动加载原理

说起PHP的自动加载,很多同学可能都会想到各种框架的自动加载功能,PHP规范中的PSR0和PSR4原则,Composer的自动加载功能等等,这些都为我们的开发提供了很大的方便。那么PHP自动加载的前因后果到底是什么?PHP的...

PHP实现懒加载的方法,php实现加载_PHP教程

PHP实现懒加载的方法,php实现加载本文实例讲述了PHP实现懒加载的方法。分享给大家供大家参考。具体分析如下: 寻常php的加载是通过include(),require()等方法来加载外部文件,之后再通过实例调用方法或直接调...

apache配置加载的模块,重启后却不能加载,但其他集成环境却可以

...信息,如下图 , 这些图中有个loaded modules显示已经加载的模块,不显示这些已经加载的模块也就是未加载成功apache相关的模块。 其他集成环境比如wamp appserv用phpinfo.php检测,Server API显示的是Apache 2.0 Handler 如下图..

php自动加载机制定义与用法实例详解

这篇文章主要介绍了PHP面向对象自动加载机制原理与用法,结合实例形式分析了php面向对象自动加载机制的原理、相关函数及注意事项,需要的朋友可以参考下本文实例讲述了PHP面向对象自动加载机制原理与用法。分享给大家...

php自动加载方式集合,php加载方式集合_PHP教程

php自动加载方式集合,php加载方式集合php加载文件方式: 1、include,include_once,requice,requice_one常规加载 2、__autoload() 3、spl_autoload_register() 常规加载方式 假设我们有一个类文件A.php,...

PHP中类自动加载的方式

这篇文章主要介绍了关于PHP中类自动加载的方式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下  最近在学习composer,发现从接触PHP到现在已经遇到了三种关于PHP中类的自动加载方式,这其中包括PH...

php中关于加载视图的用法汇总

这篇文章主要介绍了CI(CodeIgniter)框架视图中加载视图的方法,结合实例形式分析了CodeIgniter框架视图加载相关操作技巧,需要的朋友可以参考下本文实例讲述了CI(CodeIgniter)框架视图中加载视图的方法。分享给大家供大家参考,具体...

3种php类自动加载的方式实例详解

...,发现从接触PHP到现在已经遇到了三种关于PHP中类的自动加载方式,这其中包括PHP自带的类的自动加载方式、PHP的第三方的依赖管理工具composer的加载方式以及PHP的Yaf框架下的自动加载方式。本篇博客主要是针对PHP5自带的加载方...