基础入门 - 自动加载

优质
小牛编辑
136浏览
2023-12-01

easySwoole支持标准的PSR-4自动加载。

添加名称空间

  1. $loader = AutoLoader::getInstance();
  2. $loader->addNamespace('new name space',"dir path");

如果不懂如何使用,可以参考Core.php中的registerAutoLoader方法,里面的FastRoute、SuperClosure、PhpParser均为第三方组件。

引入单个文件

  1. $loader->requireFile('file path');

当成功引入时,返回true,若引入失败则返回false。该函数实际上是对require_once的封装。

使用composer进行包管理

EasySwoole同样支持用户使用composer进行包的统一管理。

  • 确保已经安装composer
  • 在项目目录下,执行项目初始化
  • 项目目录composer初始化成功后,可在项目根目录下看到一个vendor的文件夹
  • 修改EasySwoole的frameInitialize事件。加入以下代码:
    1. $loader = AutoLoader::getInstance();
    2. $loader->requireFile('vendor/autoload.php');

至此,EasySwoole开始支持composer。

composer 测试

在项目目录下执行:

  1. composer require ares333/php-curl

修改unitTest.php

  1. <?php
  2. require_once 'Core/Core.php';
  3. CoreCore::getInstance()->frameWorkInitialize();
  4. $test = new Ares333CurlCurl();

执行 php unitTest.php无致命报错,则说明已开始成功使用composer。