WordPress到底在整啥?—(03)
上一次,我终于耐着性子把wp-blog-header.php给看完了,当然,即便是二十几行代码,我也没有完全看懂,不过这没有关系,一个这么复杂的程序,又不是我自己写的,肯定不可能一目了然的,写在这里是很有好处的,否则,因为可能随着代码越看越多,我就忘了以前产生的疑点了。好,今天,我们来继续吧。我想后面的故事一定很精彩的。
wp-config.php
Config,就是configure,配置,没错,现在WP进入了配置阶段,其实,这个阶段是极其的漫长而XX的(我想不到什么形容词了),不管了,不能怕,硬着头皮上,我们来看看吧。
首先是数据库的一些常量,这里面有数据库的名称、用户名、密码,这没啥好说的,一目了然,倒是我觉得,这里还有一些安全的考量的,凡是看过wp源代码的,都知道wp-config.php里面记载了很重要的东西,都知道这个文件放在wordpress目录,或者别的名字的目录下,总之,这个目录,你是不可能隐瞒的,因为登录的时候,那个路径里面是会暴露出这个目录的所在的,其实,我觉得WP有必要考虑允许用户随便命名wp-config.php,并且放到名字奇怪的自定义目录里面,这样更有利于安全,当然我也是随便说说的,呵呵……
SECRET_KEY,秘密钥匙,说实在的,我不知道这个是干啥的,从后面的代码来看,这个东西无论你设定还是不设定,最后都会被赋予一个数值的,这个也是一个安全上的考虑,关于这个,我建议点击一下注释里面的那个网址,就会自动得到一个SECRET_KEY,然后拷贝回来,代替默认的那句话,不费什么事情,但是确实可以增加安全性的,至少官方的推荐是这么说的。
接下来,是table_prefix,这个文件中唯一定义的一个变量,这个东西默认是“wp_”,不过根据我以前看过的一些资料,这个变量也推荐不要使用默认值,应该采用比较奇怪的名字才对,比如“wpR8rTc_”,当然,这么做还是为了让黑客不要轻易猜中……犯得着那么小心吗?嗨,其实小心总是好的。这个prefix还有另一个玄机的,就是如果两个wordpress其实可以共享一个数据库的,一个wordpress不就是使用10张表吗,单独的一个数据库不是必须的,只要这个安装和另一个安装的table prefix不同,就不会搞混。我猜有人不知道,如果你早知道了,别嫌我啰嗦。
后面,有两个常量,一个是WPLANG,看来是WordPress Language的缩写了,定义了WP的语言。其实,早就发现了,国内很多的主题作者,都很少关注多语言的问题,其实,多语言并费不了多少事情,只要你下定决心搞通一个,后面就驾轻就熟了,只不过看来很多主题作者都懒得关心这一套,当然,国外的作者大多也不关心,但是关心这个问题的作者,都是了不起的作者,为他们的主题成为伟大的主题打下了坚实的基础。
然后,我们看到的是一个常量,ABSPATH,这个其实就是WP的安装目录了,我曾经看到好几个插件,其内部源代码引用目录的时候,都非常混乱,../../的这种东西一大堆,其实,你辛辛苦苦调试那些点点点的相对路径是很累的,而且,执行效率也不高,为什么不直接从ABSPATH出发呢?ABSPATH就是绝对路径,是一个完整的路径,执行的时候,不需要分析和运算,就可以直接使用,高效,准确,方便,大家为什么不爱用呢?当然啦,这个东西是不能用来引用js和css的,js和css需要的是url,而这个ABSPATH不是url,而是服务器的目录路径,大家不要搞混哦~~~(我其实就搞混了来着>。<)
然后,就进入了这个文件最后面一句很不起眼,但是却绝对波澜壮阔的一个指路标,wp-settings.php。这里面,干的事情可是相当的多,我一开始为什么说wp-config里面干的事情多呢,就是因为这么不起眼的一句话。
累了,累了,88