PHP网页编程之一步步编写PHP的Framework(六)
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言,不晓得人人注重到没有,之前咱们导入一个设置装备摆设文件是经由过程include CONFIGS_PATH . '/config.php'来做的,如许做好吗?
不忙回覆,我可以提两个成绩:
1. 假如这个途径上面的config.php不存在会产生甚么景象?
2.假如我将PHP这类设置装备摆设文件修正成为xml这类设置装备摆设文件以后会产生甚么景象?
起首,假如文件不存在,那末PHP会抛出一个正告,然而法式持续履行;设置装备摆设文件酿成xml以后,进口文件处需求编写响应的读取xml的代码,并且需求把之前的include CONFIGS_PATH . '/config.php'这句代码修正失落。
那末有无办法可以完成设置装备摆设文件的无缝切换呢?
在详细解说这些之前,我起首说一下工场形式,现假定:A需求购置一辆白色汽车,他直接向B(一个临盆汽车的工场)提出需求,B依照A的需求,从仓库当选取一辆适合的汽车,然后交给A。全部进程,A只是提出需求,详细汽车的拔取是由B工场来肯定的,这类体例就是工场形式。
举个例子:
01 <?php 02 public class Factory { 03 public static function factory($whichOneToChoose) { 04 $returnVal = 'Red'; 05 switch($whichOneToChoose) { 06 case1 : 07 $returnVal = 'Blue'; 08 break 09 case 2 : 10 $returnVal = 'Green'; 11 break; 12 default : 13 break; 14 } 15 return $returnVal; 16 } 17 } 工场形式普通都有一个静态的办法:factory担任逻辑的处置。
如今咱们可以新建一个专门处置设置装备摆设文件的类:Config.php
01 <?php 02 class Config { 03 const XML = 1; 04 const INI = 2; 05 const PHP = 3; 06 public static function factory($which) { 07 switch($which) { 08 caseConfig::XML : 09 return XmlConfig::parse(CONFIGS_PATH . '/config.xml'); 10 break; 11 case Config::INI : 12 return IniConfig::parse(CONFIGS_PATH . '/config.ini'); 13 break; 14 case Config::PHP : 15 //此处没有做文件是不是存在的剖断,你可以本人剖断一下,我只是做一个例子 16 return include CONFIGS_PATH . '/config.php'; 17 break; 18 default: 19 return array(); 20 break; 21 } 22 } 23 }
假如你要将设置装备摆设文件修正成为xml这类体例,只需求在XmlConfig.php中完成便可,固然,为了复杂,我在这儿只是完成ini设置装备摆设文件的编写,xml的设置装备摆设文件你可以本人去测验考试一下,假如你想检查详细完成,可以检查Toper中的/Library/Toper/Config/XmlConfig.class.php的详细代码。
01 <?php 02 class XmlConfig { 03 public static function parse($file) { 04 if(!is_file($file)) { 05 throw new Exception('none exists xml config file'); 06 } else { 07 return parse_ini_file($file,true); 08 } 09 } 10 } 这个文件的代码是我顺手写的,不包管代码的准确性,懂得思绪便可。
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 做为1门年轻的语言,php一直很努力。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
页:
[1]