承接 dida/autoloader 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dida/autoloader

Composer 安装命令:

composer require dida/autoloader

包简介

A class autoloader

README 文档

README

Autoloader 是一个强大的类载入器。它是 Dida 框架 的一部分。

特点

  • 轻量级,仅有一个独立的 PHP 文件,方便随处调用。
  • 支持四种加载模式: PSR-4, PSR-0, Classmap, Alias.
  • 可以方便灵活地直接加载一些尚处于开发状态或者测试状态的类。这些类因为还没有正式发布到 packagist,如果用 composer 模式处理很繁琐。
  • MIT 版权协议,免费商用。

安装

方法 1: (推荐)下载最新的 Autoloader.php 文件,然后直接在需要的地方引入它。

下载网址如下:

https://github.com/zeupin/dida-autoloader/blob/master/src/Autoloader.php

然后在你的项目中直接 include 进去,举例如下:

// 第一步,include本类。
include '/path/to/Autoloader.php';  // 你下载的Autoload.php的位置

// 第二步,执行初始化,把本类注册到系统中。
Autoloadeer::init(); // 调用初始化方法,注册到系统中。如果忘记写这句,AutoLoader等于没用哦!

// 第三步,Load需要自动载入的本地类。
\Dida\Autoloader::addPsr4('Your\\Namespace', '/your/package/path/');
\Dida\Autoloader::addClassmap(__DIR__ . 'FooMap.php', '/your/real/base/path');

// 第四步,然后再把Composer的autoload注册到系统中。
include '/path/to/composer/vendor/autoload.php';

推荐采用这种方式,AutoLoad 的使用流程清晰明了。

方法 2: 用 Composer 安装。

composer require dida/autoloader

如果你是用这个方式调用本类的话,尤其需要注意查找未知类的匹配优先顺序问题。

推荐方法 1 而不是方法 2 的原因

方法 1 和方法 2 的主要区别在于 搜索的优先顺序

  • 用方法 1,先搜 Dida\AutoLoader 的定义,找不到再去 composer.json 的定义里面搜。
  • 用方法 2,先搜 composer.json 的定义里面搜,找不到再去 Dida\AutoLoader 的定义里面搜。

在实际项目中,想使用 AutoLoader 的目的,绝大多数都是要使用自定义的类,而不是 Composer 的 vendor 里面的库,所以用方法 1 能更好达成此目的。

API

初始化

public static function init();

四种匹配模式

public static function addPsr4($namespace, $basedir);
public static function addPsr0($namespace, $basedir);
public static function addClassmap($mapfile, $basedir = null);
public static function addAlias($alias, $real);

工具函数

// 获取类文件的实际文件路径
public static function getClassFilePath($classname);

用法

require '/path/to/Autoloader.php';

\Dida\Autoloader::init();
\Dida\Autoloader::addPsr4('Dida\\', '/your/root/path/');
\Dida\Autoloader::addClassmap(__DIR__ . 'FooMap.php', '/your/real/base/path');

如果是采用 Classmap 匹配模式时,相应的 mapfile 文件的示例如下:

<?php
return [
    'Dida\\Application' => 'Application/Application.php',
    'Dida\\Config'      => 'Config/Config.php',
    'Dida\\Container'   => 'Container/Container.php',
    'Dida\\Controller'  => 'Controller/Controller.php',
];

作者

鸣谢

版权声明

版权所有 (c) 上海宙品信息科技有限公司。
Copyright (c) Zeupin LLC. http://zeupin.com

源代码采用 MIT 授权协议。
Licensed under The MIT License.

如需在您的项目中使用,必须保留本源代码中的完整版权声明。
Redistributions of files MUST retain the above copyright notice.

dida/autoloader 适用场景与选型建议

dida/autoloader 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 27 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 06 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 dida/autoloader 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 dida/autoloader 我们能提供哪些服务?
定制开发 / 二次开发

基于 dida/autoloader 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 27
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-06-07