PHP网站制作之PHP读取设置文件类(php,ini,yaml,xml)
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!<?phpclassSettings{var$_settings=array();functionget($var){$var=explode(.,$var);$result=$this->_settings;foreach($varas$key){if(!isset($result[$key])){returnfalse;}$result=$result[$key];}return$result;}functionload(){trigger_error(Notyetimplemented,E_USER_ERROR);}}classSettings_PHPextendsSettings{functionload($file){if(file_exists($file)==false){returnfalse;}//Includefileinclude($file);unset($file);//Getdeclaredvariables$vars=get_defined_vars();//Addtosettingsarrayforeach($varsas$key=>$val){if($key==this)continue;$this->_settings[$key]=$val;}}}classSettings_INIextendsSettings{functionload($file){if(file_exists($file)==false){returnfalse;}$this->_settings=parse_ini_file($file,true);}}classSettings_YAMLextendsSettings{functionload($file){if(file_exists($file)==false){returnfalse;}include(spyc.php);$this->_settings=Spyc::YAMLLoad($file);}}classSettings_XMLextendsSettings{functionload($file){if(file_exists($file)==false){returnfalse;}include(xmllib.php);$xml=file_get_contents($file);$data=XML_unserialize($xml);$this->_settings=$data;}}?>php/***针对PHP的设置,若有设置文件*config.php<?php$db=array();//Enteryourdatabasenamehere:$db=test;//EnterthehostnameofyourMySQLserver:$db=localhost;?>//详细挪用:include(settings.php);//原始情况假定每一个类为独自的一个类名.php文件//Loadsettings(PHP)$settings=newSettings_PHP;$settings->load(config.php);echoPHP:.$settings->get(db.host).;**/读取INI文件,次要用到parser_ini_file函数,该函数前往一个数组,如第二个参数为true时则前往多维数组/***ini例子:config.ini*name=testhost=localhost//挪用例子:$settings=newSettings_INI;$settings->load(config.ini);echoINI:.$settings->get(db.host).;*/读取XML文件,必要用到XML_PARSER,xmllib.php在http://hudeyong926.iteye.com/admin/blogs/836048/***XML例子:config.xml<?xmlversion="1.0"encoding="UTF-8"?><settings><db><name>test</name><host>localhost</host></db></settings>//Loadsettings(XML)$settings=NewSettings_XML;$settings->load(config.xml);echoXML:.$settings->get(db.host).;**/读取YAML格局文件,利用YAML必需利用到SPYC这个库,相干链接在http://spyc.sourceforge.net//**YAML设置例子:config.yamldb:name:testhost:localhost//Loadsettings(YAML)$settings=NewSettings_YAML;$settings->load(config.yaml);echoYAML:.$settings->get(db.host).;*/1。ini有点过期??2。xml对照好,3。yaml很好,可是究竟没有尺度化。4。txt要本人构造格局,开放性欠好。5。类序列化。对照好,可是不熟习的人利用对照贫苦!6。php界说常量(你不必修正数据吗?)以是:xml最好。要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 爱上php,他也会爱上你。 Ps:以上纯属原创,如有雷同,纯属巧合 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
页:
[1]