php开发文档怎么写_php扩展开发参考手册

Դ人民日报

ߣseo技术

11

2021-11-06 20:03:38

警告:第40行的非法字符串偏移量“姓名”在/www/www/www .齐米蒂街361号。cn/WP-内容/主题/仅新闻/主题/功能/短代码-渲染。服务器端编程语言(Professional Hypertext Preprocessor的缩写)中

1.1 介绍

福哥的TFUMS项目的配置文件其实就是一个服务器端编程语言(专业超文本预处理器的缩写)程序文件,使用服务器端编程语言(专业超文本预处理器的缩写)程序文件作为项目的配置文件虽然更加灵活,但是感觉上差一点。

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)项目使用可扩展标记语言作为项目的配置文件,XML格式可以容纳更复杂的配置参数,阅读起来也很清晰,但是服务器端编程语言(专业超文本预处理器的缩写)读取可扩展标记语言格式的文档有点先天不足,XML格式无法转换为服务器端编程语言(专业超文本预处理器的缩写)的数组,而且服务器端编程语言(专业超文本预处理器的缩写)解析可扩展标记语言格式的效率也不高。

服务器端编程语言(专业超文本预处理器的缩写)语言解析器的配置文件是初始化设置文件的后缀名格式的文件,INI格式不如可扩展标记语言格式可以适应更为复杂的配置参数,但是它也足够使用了,最关键是的服务器端编程语言(专业超文本预处理器的缩写)解析初始化设置文件的后缀名格式非常的方便,一个parse_ini_file函数便可以将初始化设置文件的后缀名文档里面的配置参数转换为一个服务器端编程语言(专业超文本预处理器的缩写)的数组,由于是内建函数效率还有保障,就是它了~~

1. 介绍

福哥先给出现在的TFUMS项目的配置文件,这是一个标准的服务器端编程语言(专业超文本预处理器的缩写)程序文件,里面通过TFConfig对象设置项目参数。

2.1 配置文件

usetfphpddatabasesqltfdo

useTFPHPSystemTFLog

useTFPHPSystemTFConfig

TFConfig:set('默认值,数组(

驱动程序=TFDO:T_MYSQL,

主机='mysql ',

端口'=3306,

用户='tfums ',

pass'='abcdef ',

db'='tfums ',

字符集='utf8 ',

),' TFDO ');

TFConfig:set('默认值,数组(

主机='redis ',

端口'=6379,

pass'='tongfu.net ',

db'='tfums ',

),' TFRedis ');

TFConfig:set('默认值,数组(

主机='弹性搜索',

端口'=9200,

db'='tfums '

),‘TF elastic search’);

TFConfig:set('charset ',' UTF-8 ',' system ');

TFConfig:set('域',' 192.168.1.168 ','系统');

tfconfig :3360 set(' ApiURl ',' http://php-nginx-tfums/api/',' system ');

TFConfig:set('outUrl ',' http://192.168.1.168/tfums/',' system ');

tfconfig :3360 set(' Baseuri ','/',' system ');

tfconfig :3360 set(' systemLogLevel ',TFLog:T_INFO,' system ');

TF config : set('项目aespk ',md5('福哥的TFUMS系统基于TFPHP框架),'系统');

TFConfig:set('SMTPA

rgs", array(     'host'=>"smtp.tongfu.net",     'port'=>25,     'user'=>"tfums@tongfu.net",     'pwd'=>"cba321",     'email'=>"tfums@tongfu.net" ), "system"); TFConfig::set("imageDirArgs", array(     "dirs"=>array(         "img3"=>array(             "path"=>"/tongfu.net/web/TFHomeImg3/",             "requestUri"=>"/img3/"         )     ),     "default"=>"img3" ), "system"); TFConfig::set("defaultUserImages", array(     'icon'=>"/images/usericon.jpg",     'style'=>"/images/userstyle.jpg", ), "system"); TFConfig::set("bindEmailTemplateArgs", array(     'subject'=>"亲爱的{userName},请激活你的TFUMS系统账号的绑定邮箱",     'body'=>"亲爱的{userName},你好!<br/> <br/> 请点击下面的链接完成邮箱绑定操作!<br/><br/> <a href="{link}" target="_blank">{link}</a><br/> <br/> TFUMS<br/> tfums@tongfu.net<br/>" ), "system");

2.2 数据源

这个里面有三个数据源,分别是MySQL数据源、Redis数据源和ES数据源,它是一个数组形式。

TFConfig::set("default", array(
    'driver'=>TFDO::T_MYSQL,
    'host'=>"mysql",
    'port'=>3306,
    'user'=>"tfums",
    'pass'=>"abcdef",
    'db'=>"tfums",
    'charset'=>"utf8",
), "TFDO");
TFConfig::set("default", array(
    'host'=>"redis",
    'port'=>6379,
    'pass'=>"tongfu.net",
    'db'=>"tfums",
), "TFRedis");
TFConfig::set("default", array(
    'host'=>"elasticsearch",
    'port'=>9200,
    'db'=>"tfums"
), "TFElasticsearch");

2.3 环境参数

这里是一个系统环境参数,都是一些简单字符串参数。

TFConfig::set("charset", "UTF-8", "system");
TFConfig::set("domain", "192.168.1.168", "system");
TFConfig::set("apiUrl", "http://php-nginx-tfums/api/", "system");
TFConfig::set("outUrl", "http://192.168.1.168/tfums/", "system");
TFConfig::set("baseUri", "/", "system");
TFConfig::set("systemLogLevel", TFLog::T_INFO, "system");
TFConfig::set("projectAESPK", md5("福哥的TFUMS系统基于TFPHP框架"), "system");

2.4 功能参数

功能参数针对的一些系统功能的参数,一般情况下都是数组类型的参数,甚至还会有多级参数。

TFConfig::set("SMTPArgs", array(
    'host'=>"smtp.tongfu.net",
    'port'=>25,
    'user'=>"tfums@tongfu.net",
    'pwd'=>"cba321",
    'email'=>"tfums@tongfu.net"
), "system");
TFConfig::set("imageDirArgs", array(
    "dirs"=>array(
        "img3"=>array(
            "path"=>"/tongfu.net/web/TFHomeImg3/",
            "requestUri"=>"/img3/"
        )
    ),
    "default"=>"img3"
), "system");
TFConfig::set("defaultUserImages", array(
    'icon'=>"/images/usericon.jpg",
    'style'=>"/images/userstyle.jpg",
), "system");
TFConfig::set("bindEmailTemplateArgs", array(
    'subject'=>"亲爱的{userName},请激活你的TFUMS系统账号的绑定邮箱",
    'body'=>"亲爱的{userName},你好!<br/>
<br/>
请点击下面的链接完成邮箱绑定操作!<br/><br/>
<a href="{link}" target="_blank">{link}</a><br/>
<br/>
TFUMS<br/>
tfums@tongfu.net<br/>"
), "system");

3. INI格式配置文件

INI格式虽然也可以通过section和key、value实现一个二维数组的结构,但是INI格式毕竟没有PHP语言那样的自由。所以福哥要将TFUMS项目的配置文件转换为INI格式需要一些技巧。

3.1 配置文件

[TFDO]
default[driver] = MySQL
default[host] = mysql
default[port] = 3306
default[user] = root
default[pass] = abcdef
default[db] = tfums
default[charset] = utf8
[TFRedis]
default[host] = redis
default[port] = 6379
default[pass] = tongfu.net
default[db] = tfums
[TFElasticsearch]
default[host] = elasticsearch
default[port] = 9200
default[db] = tfums
[system]
charset = UTF-8
domain = 192.168.1.168
apiUrl = http://php-nginx-tfums/api/
outUrl = http://192.168.1.168/tfums/
baseUri = /
systemLogLevel = info
projectAESPK = 86fbd7cec5a89700760c167e85acdab8
imageDirsPath[img3] = /tongfu.net/web/TFHomeImg3/
imageDirsRequestURI[img3] = /img3/
imageDirDefault = img3
SMTP[host] = smtp.tongfu.net
SMTP[port] = 25
SMTP[user] = tfums@tongfu.net
SMTP[pwd] = cba321
SMTP[email] = tfums@tongfu.net
defaultUserImages = /images/usericon.jpg
defaultUserImages[style] = /images/userstyle.jpg
bindEmailTemplate[subject] = 亲爱的{userName},请激活你的TFUMS系统账号的绑定邮箱
bindEmailTemplate[body] = "亲爱的{userName},你好!<br/>
<br/>
请点击下面的链接完成邮箱绑定操作!<br/><br/>
<a href="{link}" target="_blank">{link}</a><br/>
<br/>
tfums<br/>
tfums@tongfu.net<br/>"

3.2 数据源

INI文档可以通过section和key实现一个二维数组结构,这个和PHP的group+数组格式相符合,没有问题!

INI文档的key也可以用方括号设置数组格式,parse_ini_file函数会把它转换成一个数组参数。

[TFDO]
default[driver] = MySQL
default[host] = mysql
default[port] = 3306
default[user] = root
default[pass] = abcdef
default[db] = tfums
default[charset] = utf8
[TFRedis]
default[host] = redis
default[port] = 6379
default[pass] = tongfu.net
default[db] = tfums
[TFElasticsearch]
default[host] = elasticsearch
default[port] = 9200
default[db] = tfums

3.3 环境参数

环境参数大多数参数都是一个字符串,可以直接设置。还有imageDirArgs是一个多为数组,这个INI格式搞不定了。

福哥的解决方法是将多维数组拆开为多个参数,当然相应的项目里的程序也要做改动才行。

charset = UTF-8
domain = 192.168.1.168
apiUrl = http://php-nginx-tfums/api/
outUrl = http://192.168.1.168/tfums/
baseUri = /
systemLogLevel = info
projectAESPK = 86fbd7cec5a89700760c167e85acdab8
imageDirArgsPath[img3] = /tongfu.net/web/TFHomeImg3/
imageDirArgsRequestURI[img3] = /img3/
imageDirArgsDefault = img3

3.4 功能参数

功能参数都是一个一个的数组,这个也可以直接转换过来。

这里面有一个特殊的情况,就是邮件模板的正文的一个多行字符串,这个需要用双引号括起来才行,而且内容里面的双引号需要转义一下。

SMTP[host] = smtp.tongfu.net
SMTP[port] = 25
SMTP[user] = tfums@tongfu.net
SMTP[pwd] = cba321
SMTP[email] = tfums@tongfu.net
defaultUserImages = /images/usericon.jpg
defaultUserImages[style] = /images/userstyle.jpg
bindEmailTemplate[subject] = 亲爱的{userName},请激活你的TFUMS系统账号的绑定邮箱
bindEmailTemplate[body] = "亲爱的{userName},你好!<br/>
<br/>
请点击下面的链接完成邮箱绑定操作!<br/><br/>
<a href="{link}" target="_blank">{link}</a><br/>
<br/>
tfums<br/>
tfums@tongfu.net<br/>"

3.5 INI转PHP数组

这个比较简单,就是一行代码的事情。

$webIniArr = parse_ini_file(WEB_INF_ROOT_PATH. 'Conf/web.ini', true);

转换后的PHP数组是这样的结构。

php开发文档怎么写(php扩展开发参考手册)

4. 总结

今天福哥带着童鞋们将TFUMS项目的配置文件从一个PHP格式的程序文件改造成了INI格式的文档,使用INI文档后的配置文件看起来更加像一个配置文件了,INI文档更加独立,可读性更好。

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部