php框架使用继续改进我的 PHP 框架,本次更新的主要内容php开发框架
2022-09-22
继续
那就完善自己的PHP框架,本次更新的主要内容有:
异常处理
异常处理:异常处理是一种编程语言或计算机硬件中用于处理软件或信息系统中的异常情况(即程序正常执行流程之外的一些特殊情况)的机制
异常处理用于处理程序中的异常情况。虽然是“异常状态”,但还是在程序员的意料之中。其实程序的异常处理完全可以用'if else'语句代替php框架使用,但异常处理自然有其优势。
个人总结其优点如下:
虽然将代码放入 try 块中效率稍低,但与这些优势相比,成本微不足道。那么如何在 PHP 中使用异常处理呢?
PHP 具有内置类,允许我们通过实例化异常类来引发异常。我们在 try 语句中执行代码,然后尝试捕获 try 块中抛出的异常并处理异常。我们也可以在代码段之后使用语句块,不管有没有异常都会执行代码块的代码。 try 语句类似于以下代码:
try{
throw new Exeption('msg'[,'code',$previous_exeception]);
}catch(Exeption $var) {
process($var);
}catch(MyException $e){
process($e)
}finally{
dosomething;
}
使用try语句,需要注意:
框架中的异常处理
已经说了这么多例外(当然这些都是为了理解和使用框架而解释的),那么在框架中如何实现呢?
重写异常类
我们可以重写异常类来改进它的内部方法:
*/
protected function log{
Logger::debug;
}
}
如上所述,该方法不能被覆盖。另外,我们可以定义自己的方法,比如记录异常日志。和我自定义的日志方法一样网站模板,在代码块中,可以直接使用$e->log记录异常日志。
注册全局异常方法
我们可以使用 r('') 来全局捕获未被块捕获的异常。该异常处理函数需要传入一个异常处理对象,该对象可以分析异常处理信息,避免系统出现不人道的提示,增强框架的健壮性。
function exceptionHandler($e) {
echo '有未被捕获的异常,在' . $e->getFile . "的" . $e->getLine . "行!";
}
其他全局函数
顺便说一下其他一些全局处理程序:
但注意这些全局函数需要在代码段之前定义和注册。
数据表和类映射
第一次使用yii2的类很方便。只需要定义同名字段的属性,然后调用save方法即可。 (基类)。
使用''查询语句;分析查询结果:对于每个字段,有(字段名),Type(数据类型),Null(是否为空),Key(索引信息,'PRI'代表主键),(默认值),(附加信息,如)通过判断其主键($row['KEY'] == 'PRI')信息,保存时检查是否有主键信息,如果存在则更新;如果不存在php框架使用,则插入。另外,解析出来的字段信息还有更多神奇的用途~~结论
感觉好久没写博客了。 “毕业”对于一个类似于大专学习方式的人来说有点麻烦。留住对学校的眷恋,继续出发吧。
我学的越多网站模板,就越觉得自己不够了解。看一些PHP框架源码的时候,有时候觉得自己还差得很远。那种整体感和布局感大概需要时间和经验的积累。
因为框架的应用和我现在的工作没有特别的关系,而且最近一直在努力学习一些底层编程的东西,所以框架系列可能有点“便秘”,我会写点别的. . 这两天我要换个地方。我跑来跑去看看房子。原谅我“矮”。 .
哈哈,欢迎继续关注我的博客,嗯,一直很用心。