tp5.1框架初始化流程学习

27 篇文章 0 订阅
10 篇文章 0 订阅

tp5.1框架初始化流程学习

tp5.1的入口文件(public/index.php

主要完成框架的初始化与应用启动,等待用户请求,然后进行调度处理

入口文件代码

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// [ 应用入口文件 ]
namespace think;

// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';

// 支持事先使用静态方法设置Request对象和Config对象

// 执行应用并响应
Container::get('app')->run()->send();

流程图


初始化之前的操作

在入口文件引入了base.php,该文件负责的是基础环境的搭建

在base文件中引入了Loader类(自动加载类),调用了Error类

base.php的作用

引入Loader类,实现注册自动加载

使用Error类实现注册错误和异常处理机制

实现日志接口(这块具体还不是太理解)

注册核心类到容器

注册核心类的静态代理

注册类库别名

加载惯例配置文件

配置文件

加载composer的自动加载文件

    

Loader.php的作用

  • 注册系统自动加载机制
  • 实现Composer自动加载
  • 注册think和traits命名空间
  • 加载类库映射文件
  • 自动加载extend目录

初始化的操作

通过容器类的get方法获取app.php的实例,调用app的run()方法实现应用的初始化和运行

run()方法会调用initialize方法

initialize方法——加载与应用相关的各类配置信息,与此同时调用init方法

init方法——初始化应用的根目录,并加载根目录下的配置文件

相关配置文件

行为扩展 /app/tags.php.
公共内容文件 /app/common.php
助手函数文件 /app/helper.php
容器对象注册文件 /app/provider.php
读取配置目录下的配置文件 /app/config/文件名.php。


  1. PHP_OS——获取当前操作系统名称
  2. DIRECTORY_SEPARATOR——PHP加载的文件分隔符

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以,在TP5.1框架中使用RSA加解密类也非常简单,只需将上述的RSAEncryptor类保存在您的应用程序目录中,然后在需要使用该类的地方引入即可。 以下是在TP5.1框架中使用RSA加解密类的示例代码: ```php // 引入RSAEncryptor类 use app\util\RSAEncryptor; // 创建RSAEncryptor对象 $rsa = new RSAEncryptor(); // 生成公钥和私钥 $keys = $rsa->generateKeys(); $publicKey = $keys['publickey']; $privateKey = $keys['privatekey']; // 设置公钥和私钥 $rsa->setPublicKey($publicKey); $rsa->setPrivateKey($privateKey); // 加密和解密 $plaintext = 'Hello, world!'; $ciphertext = $rsa->encrypt($plaintext); $decrypted = $rsa->decrypt($ciphertext); echo "Plaintext: $plaintext\n"; echo "Ciphertext: $ciphertext\n"; echo "Decrypted: $decrypted\n"; ``` 在该示例中,我们首先使用use语句引入了RSAEncryptor类。然后,我们创建了一个RSAEncryptor对象并使用generateKeys方法生成公钥和私钥。接着,我们使用setPublicKey和setPrivateKey方法设置公钥和私钥。最后,我们使用encrypt方法加密明文并使用decrypt方法解密密文。 您还需要将RSAEncryptor类保存在app\util目录中,并确保您的应用程序中已启用自动加载。如果您的应用程序中没有启用自动加载,请在应用程序配置文件(config/app.php)中添加以下行: ```php 'autoload' => [ 'psr-4' => [ 'app\\' => APP_PATH, 'app\\util\\' => APP_PATH . 'util/', ], ], ``` 这将在应用程序启动时自动加载您的RSAEncryptor类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值