php 简洁规划,每一个PHPer都应该尝试写个框架,规划一个试试

是的,都说PHP写框架门槛低,我觉得这是个好事,框架的目的是更高效率的开发,门槛低为高效率提供了更多基础。有这么好的基础没有理由不自己也尝试写个框架,这里整理下自己要写框架的规划。

基于PHP5.3.X

这个都出来几年了,一些新特性的确能提高代码效率。

CLASS不是全部

OOP编程方式是非常可取的,一说OOP,直接对应的就是CLASS化,但是我们还需要独立的函数,PHP有命名空间,这些函数可以用命名空间包装起来,达到包化

CLASS风格封装配置和常量定义

虽然命名空间隔离了代码,但是隔离不了常量定义,比如

/**

* JingYes 框架使用的基本函数

* 使用者可以预先定义这些函数

* @author Yu HengChun

* @copyright Copyright © 2011 Yu HengChun

* @license http://www.opensource.org/licenses/bsd-license.php

*/

namespace JingYes;

/**

* JingYes class风格配置

* 其它类里面也采用这种风格

*/

final class Config

{

public static $conf=array(

);

/**

* 配置扩展

* @param string $key 键

* @param array  $val 值

*/

public static function extend($key,$val){

if(is_array(self::$conf[$key]) and is_array($val))

self::$conf[$key]=array_merge(self::$conf[$key],$val);

else

self::$conf[$key]=$val;

}

}

if(!function_exists('JingYes\ThrowException')){

/**

* 抛出异常信息

* @param string $type 错误类型信息

* @param string $message 错误细节信息模板

* @param integer $code 错误类型代码,采用http错误代码

* @param array $args 传递给 $message的参数,用于生成最终信息

*/

function ThrowException($type,$message,$code=501,array $args=array()) {

$type=Config::$conf['error'][$type]?:$type;

$message=message($message,$args);

throw new \Exception($type.':'.$message,$code);

}

}

if(!function_exists('JingYes\message')){

/**

动态加载js的方法

* 对提示信息进行转换翻译

* @param string $message 错误细节信息模板

* @param array $args 传递给 $message的参数,用于生成最终信息

*/

function message($message,array $args=array()) {

$message=stripslashes($message);

$message="\$message=\"$message\";";

extract($args);

eval($message);

return $message;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值