仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2936|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之一步步编写PHP的Framework(六)

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:29:33 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大部分语言的基础,不是说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”的缩写,这种将名称放到定义中的写法被称作递归缩写。
海妖 该用户已被删除
沙发
 楼主| 发表于 2015-10-3 07:46:34 | 显示全部楼层
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 12:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表