page contents

TP5源码解读

框架流程: 1.入口文件 index.php->加载基础文件 base.php->载入Loader类Loader.php 2.注册自动加载Loader::register()

attachments-2020-10-UMjiafzw5f9291f666bef.png

框架流程:

1.入口文件 index.php->加载基础文件 base.php->载入Loader类Loader.php

2.注册自动加载Loader::register()

Loader::register()主要实现两个功能:

1).注册系统自动加载

2).Composer自动加载支持

  • get_declared_classes  返回由当前脚本中已定义类的名字组成的数组。(当前文件类的集合)

register函数主要处理四个数组属性:

  1. prefixLengthsPsr4
  2. prefixDirsPsr4
  3. fallbackDirsPsr4
  4. classMap

self::addAutoLoadDir() 自定义加载类文件 如:在tp5下创建一个目录a/ali/send.php文件 使用self::addAutoLoadDir($rootPath,"a") 在控制下即可使用命名空间调用相对应的类,类似于extend

composer类库安装

 直接复制到vendor/topthink目下,配置vendor/composer/autoload_static.php
 如think-helper类库
public static $prefixLengthsPsr4 = array (
't' =>
array (
'thinkcomposer' => 15,
'thinkhelper' => 13,
),
'a' =>
array (
'app' => 4,
),
);
 
public static $prefixDirsPsr4 = array (
'thinkcomposer' =>
array (
0 => __DIR__ . '/..' . '/topthink/think-installer/src',
),
'thinkhelper' =>
array (
0 => __DIR__ . '/..' . '/topthink/think-helper/src',
),
'app' =>
array (
0 => __DIR__ . '/../..' . '/application',
),
);


attachments-2020-10-DlwnN4rC5f92920469224.jpg来源:https://www.cnblogs.com/lkl6/p/13554450.html

  • 发表于 2020-10-23 16:18
  • 阅读 ( 603 )
  • 分类:框架系列

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章