MVC框架入口文件的解析

Vienna整流器双PI闭环仿真:从SVPWM调制到中点电位平衡的实践解析 本文深入解析Vienna整流器双PI闭环仿真技术,涵盖SVPWM调制和中点电位平衡的实践细节。通过详细的MATLAB/Simulink仿真搭建流程和常见问题排查方法,帮助工程师掌握高效整流器控制策略,提升系统稳定性和动态响应性能。 阅读详情

1.首先要先把我们的框架的目录定义好

2.然后呢,我们需要做的就是规格入口文件:

则是通过伪静态文件 .htaccess

<IfModule mod_rewrite.c>
    # 打开Rerite功能
    RewriteEngine On

    # 如果请求的是真实存在的文件或目录,直接访问
    RewriteCond %{REQUEST_FILENAME} !-f

    # 如果访问的文件或目录不是真事存在,分发请求至 index.php
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

3.紧接着我们就要做我们的入口文件了

在编辑入口文件之前,我们要明白一下入口文件都有什么作用以及流程

第一是:定义变量(方便我们查找,减少我们的代码量)

第二是:加载数据库

第三是:启动框架

下面是代码:

<?php
/*
 * 入口文件
 * 1.定义常量
 * 2.加载函数库
 * 3.启动框架
 * */
header('content-type:text/html;charset=utf-8');

define('IMOOC',realpath('./'));  //当前框架所在的目录
define('CORE',IMOOC,'/core');  //框架核心文件所在的目录
define('APP',IMOOC,'/app');    //项目文件所在的目录
define('__PUBLIC__','/public/');
define('MODULE','app');

define('DEBUG',true);  //开启调试模式


if(DEBUG)
{
    //打开显示错误的开关
    ini_set('display_error','On');
}else{
    ini_set('display_error','Off');
}

include './core/common/function.php';   //加载函数库文件

include './core/imooc.php';   //加载框架的核心文件

spl_autoload_register('\core\imooc::load');

\core\imooc::run();
那么我们就对入库文件进行一下解析吧,

ini_set — 为一个配置选项设置值

但是,这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该变量将自动恢复到原始值。

spl_autoload_register — 注册给定的函数作为 __autoload 的实现

\code\imooc::run()    启动框架
1、信息与物理世界:“It from Bit”还是“Bit from It”? 这篇博文探讨了物理学与信息理论之间的深刻联系,从惠勒提出的“It from Bit”概念出发,讨论了信息是否是物质世界的基础,或者物质是否是信息的来源。文章回顾了2013年举办的征文竞赛以及众多学者对这一问题的不同观点,涵盖了量子理论、热力学、计算机科学、黑洞物理以及时空本质等多个领域。同时,文章还分析了信息理论在哲学层面的含义,并展望了其在未来理论、实验和应用研究中的潜力与方向。 阅读详情

相关推荐

2023-ICCV-隐式神经网络实现低光照图像增强(NeRCo)论文解读+代码解析

NeRCo()提出了一种名为NeRCo的隐式神经表示方法,用于合作式低光图像增强。现有的低光图像增强方法存在以下三个限制:不可预测的亮度降低和噪声、度量友好版本和视觉友好版本之间的固有差距,以及有限的配对训练数据。为了解决这些限制,论文提出了NeRCo方法,它以无监督的方式稳健地恢复感知友好的结果。具体而言,NeRCo通过一个可控的拟合函数统一了现实场景中多样的退化因素,从而提高了鲁棒性。对于输出结果,论文引入了来自预训练视觉-语言模型的先验信息,采用语义导向的监督方法。

weixin_45595504的博客 3184

mvc第一步 入口文件

开始我们的封装 1.入口文件 首先建立一个根目录mvc; mvc  ——core  核心文件目录               ——common 函数库目录                               ——mvc.php 框架核心文件 在mvc根目录下建立我们的入口文件 index.php;入口文件当中,我们应该操作哪些东西呢? <?php /*

php_Zhaop的博客 1231

中兴问天 BE7200MAX SFP 光口用华为猫棒替代光猫完整配置教程

PPPoE 账号密码:若原光猫为 Route 模式,在宽带设置页可见用户名,密码需按 F12 打开浏览器开发者模式,点击密码输入框,查看代码中 “value=” 后的内容即为明文密码。若仍失败,核对 PON 类型是否与运营商网络匹配。PON 认证信息:LOID(逻辑 ID,部分地区含密码)、设备 SN 码(标签或设备信息页)、PON 类型(GPON/EPON,运营商网络类型)。电脑保持与路由器连接,访问路由器管理地址(默认通常为 192.168.5.1,可参考路由器说明书),登录后台。

Gulper_Eel的博客 3331

自定义MVC框架-入口文件

1. 抛出问题 当前项目 中存在很多的模型文件和控制器文件,还有一些视图文件 那么如何访问这些类以及文件呢? 当前的方法时,通过浏览器访问index.php,然后在此文件中 ,创建需要的控制器类的对象,再调用此类的方法 require_once './controller/UsersController.class.php'; $c=new UsersController(); $c-&...

csdn姚宏波 640

手把手教你玩转Infoseek舆情监测系统:从数据爬取到智能分析实战

别只会监测品牌名!一个有效的监测体系应该包括:// 完整的监测关键词策略brand: ["品牌名", "产品名", "缩写"],executives: ["CEO姓名", "高管姓名"],campaign: ["当前营销活动名称"],competitors: ["竞品A", "竞品B"],industry: ["行业通用关键词"],// 别忘了常见拼写错误和黑称defensive: ["常见的错误拼写", "用户起的黑称"]产品优化:从用户吐槽中发现改进点市场洞察。

2501_93332955的博客 756

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

围炉夜敲的博客 1万+

mvc之入口文件

首先,我们需要了解一个框架的运行流程 入口文件->定义常量->引入函数库->自动加载类                                                                    ∨ 返回结果 ->加载控制器->路由解析->启动框架 入口文件的作用 1 定义常量 2 加载函数库 3启动框架 以下为源码 //定义项目的根

记录一些工作日常和学习 732

OK3588-C开发板Forlinx Desktop系统烧录与多媒体功能实战

本文详细介绍了OK3588-C开发板Forlinx Desktop系统的烧录步骤与多媒体功能实战。从硬件准备到软件工具配置,逐步解析RKDevTool烧录技巧,并深入测试摄像头、视频编解码及音频功能,帮助开发者快速掌握RK3588芯片的强大性能与Ubuntu系统的优化应用。

weixin_29190169的博客 417

MVC项目之入口文件编写

mvc是php典型的架构模式,对MVC详情请了解http://blog.youkuaiyun.com/zch501157081/article/details/51967549。 MVC一般项目中为了安全性和方便,并且因为其文件命名规则代码可重用性高一般会准备一个入口文件,一般为index.php 他负责整个程序的入口文件,访问所有的php文件(除去一些展示的静态网页和图片等直接加载不经过PHP编译的东西)都必

Tomorrow 2178

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4900

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 394

框架入门 基础篇 (上)入口文件,自动加载,路由

这两天看了看慕课网的 《从零打造自己的MVC矿建》 感觉很有收获做点总结首先是框架运行原理:一个框架 进入入口文件后 首先它会定义一些常量 ,然后加载核心类库,启动框架 接下来路由类会根据一定的规则去解析用户输入的路由 找到对应的控制器 把控制器加载进来 去调用模型 把结果响应到视图那么入口文件是干什么的呢<?php /** * 1.入口文件 * 2.定义常量 * 3.加载函数库 * 4.启

千里之行 丶 始于足下 683

【人工智能的数学基础】最优传输(Optimal Transport)问题与Wasserstein距离

代表两堆石子,则问题等价于如何移动一堆石子,通过最小的累积移动距离把它堆成另外一堆石子。的不同位置分配的值。为离散型概率分布,则该优化问题可以表示为矩阵形式。表示寻找总运输成本最小的方案。放大后的上确界不会小于原来的上确界,因此不妨取。具有相同的概率分布。是概率分布,因此积分可以写作采样形式。描述了一种可行的运输方案,表示应该从位置。则最优传输问题的目标函数可以用列向量。对于一个线性规划问题,总可以写出其。的所有可能联合分布的集合,下确界。其中矩阵的每一行代表概率分布。表示寻找使得目标函数最大的。

AI天才研究院 6328

ThinkPHP框架完全解析二

第二步:搭建主框架 在ThinkPHP.php这个框架入口文件中,代码主要分成两部分,常量定义部分和入口函数调用部分。 常量定义部分定义了五个常量,分别是版本号(THINK_VERSION,当前为3.2.3.an,an表示是解析版),类文件后缀(EXT),框架目录(THINK_PATH),类库目录(LIB_PATH)和Think目录(CORE_PATH). 然后接下来就是调用入口

C7 7074

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

自己动手搭建MVC之一

类的自动加载: 自动加载类:自动加载类可以方便我们不用每次都去加载哪个类。我们直接奔入主题: 第一步:我们在使用自动加载类的时候,应该写到入口文件中去,用spl_autoload_register这个函数来调用我们类中的方法。 第二步:来调用上述我们的那个类,这个类就是我们的基类,那我们在这个类应该怎么去写, 首先,我们在类中定义个静态的数组来存放我们要加载的类文件,当我们第一次访问这个方

a18264011026的博客 570

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

PHP实现简易的MVC框架

实现MVC框架没有固定的实现方法,根据框架特色和语言特点以及自己的需求进行实现即可。

光头强的博客 7139

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

php怎么实现简单的mvc框架,php实现简单的MVC框架实例_PHP

本文实例讲述了php实现简单的MVC框架。分享给大家供大家参考。具体如下:在开始之前需要知道的知识1.php基础知识2.单一入口, 不知道的可以看看这里 (http://www.bitsCN.com/article/72621.htm)具备以上两点, 那我们就可以开始啦. 哈哈!先来说一下程序的执行流程首先有个入口文件, 然后初始化一些程序, 之后根据请求调用不同的类和方法首先我们弄一个入口文件 ...

weixin_39862484的博客 137

MVC框架运行流程和目录结构

1.        框架运行流程             用最通俗最简单的方法来解释一个MVC框架的运行流程: 通过入口文件载入函数库,加载自动加载的类,然后启动框架,启动框架后通过路由解析地址,然后将地址中解析出控制器名称,加载控制器,通过处理控制器的业务逻辑来返回结果  2.        目录结构          3.        入口文件     

F_Srion的博客 2859

MVC封装框架 第一步 (分析mvc框架运行流程)

一。       先有一个入口文件,http请求由入口文件进入之后,然后在进行控制器,方法的分发或是说转发。 二。      定义一些常量,如:框架所在的目录(APP_PATH),函数库所在的目录,第三方类库所在的目录, 等等。 三。     引入函数库 四。     引入一个自动加载的类,(自动加载一些文件) 五。    启动框架 六。    做一个路由类。该路由类可以解析

m15712884682的博客 419

PHP-MVC框架搭建之入口文件

MVC框架目录结构 index.php作为单一入口,所有请求只能访问index.php,并且要携带平台信息和控制器。 <?php //增加入口标记 define('ACCESS',TRUE); //定义项目根目录 define('ROOT_PATH',str_replace('\\', '/', dirname(__DIR__)).'/'); //echo ...

hero_xsx的博客 1138

用php写一个简单的mvc框架

然后就可以在app目录下建自己的应用了,比如admin/controller/IndexController.php的index方法,访问路径public/index.php?r=admin/index/index就ok了~~代码不用解释,就是new个类接下来去继续处理,TZD_ENV定义下环境,可灵活决定错误提示级别。代码如下,读取配置信息、定义常量、解析路由、注册自动加载函数。项目地址:待发布github,发布后会更新!

qq_40923390的博客 403

PHP学习笔记-MVC框架

MVC学习笔记 1.什么使MVC框架       MVC是一种软件开发框架,MVC将程序分为三个部分:模型层(M)、视图层(V)和控制层(C),对不同的层进行分层管理和控制,方便程序的修改和扩展 2. 为什么使用MVC框架       在PHP中使用MVC框架,可以实现了分层、分类开发,实现了web的分离,使前端代码与后端分离,某一层的调整,不会对另一层的代码和逻辑造成影响,使用MV...

爱笑的喵 3624

mvc路由原理 php_PHP的MVC框架路由功能实现方法。

现如今PHP已经是广为使用的一种编程语言,只要是做PHP开发都离不开一些PHP框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等等,让我们的开发更为快捷方便。但是很多人只是会使用框架,却从来不去了解框架的内部是如何实现的,这对于我们编程能力的提高是没有一点用处的。那么这一篇文章,我们就先来一个简单点的功能,也就是说说 一般的单入口框MVC框架的路由功能实现方法。架路由都是这样的结构...

weixin_39603537的博客 231

mvc入口文件和路由

看了一个MVC框架视频,也算是对视频内容的总结吧。先来看看入口文件和路由 入口文件 其中首先定义常量,如框架根目录,核心文件所在目录,项目文件所处目录。接着通过ini_set来判断是否开启错误提示。接着引入函数库文件,这样我们就可以在全局使用这些函数,非常方便。   接着加载核心文件。里面有load方法,来对本目录找不到的类进行处理,一般都是根据类名进行判断来拼接路径进行引

追 憶 486

如何封装一个自己的mvc框架(二)

1.首先需要写一个开口文件 主要包括以下几点  1.定义常量(路由)  2.加载类库  3.启动框架 /**  * 1.入口文件  * 2.定义常量(路由)  * 3.加载类库  * 4.启动框架  */ //定义根目录 define("ROOT",dirname(__FILE__)); //定义核心文件目录 define('CORE', ROO

baidu_36030459的博客 860

mvc框架设计搭建

MVC框架设计 一、为什么开发自己的框架 1、为了更快的开发效率 2、为了更高的运行效率 3、为了更好地证明自己   二、框架运行流程 入口文件 ->  定义常量  ->  引入函数库 ->  自动加载   返回记过  -> 加载控制器  -> 路由解析   -> 启动框架   三、框架搭建六步 1、编写入口文件 ① 定义变量      ② 加载函数库

娃哈哈的博客 503
上一篇: PHP 无限级分类
下一篇: MVC框架路由模块的解析
A_青涩
博客等级 码龄9年 420粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_青涩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值