小编Fre*_*ddy的帖子

如何命名异常(PHP)?

我正在开发一个非常大的项目,并在stackoverflow和其他网站上阅读了很多关于异常的内容.结果是,有100%是对还是错.有些会抛出无效用户输入的异常,有些则不会.有些只针对运行时错误抛出异常,有些则不...

我个人喜欢甚至为无效的用户输入抛出异常的方法.

现在我的问题是我有一个用户可以评论另一个用户的声明(例如他/她的偏好音乐等).每个用户只允许一次对其进行评论.现在,为注释创建数据库条目的函数检查用户是否已对该语句进行了注释.如果是,请抛出异常.通常我会说我命名这个例外:ExceptionStatementAlreadyCommented但我在这个项目中有很多其他函数,如果我总是创建这样的特定异常,我最终会得到大约100 - 200个异常.

这会影响性能吗?我通过__autoload函数自动加载所需的类,因此实际的异常仅在需要时加载.

命名这样的异常是一种好方法吗?在过去,我遇到了使用一个异常来处理不同错误的问题,因为当我捕获异常时,我有时会捕获到我不想捕获的异常.

非常感谢你的帮助!

最好的祝福,

弗雷迪

php performance exception

4
推荐指数
2
解决办法
1509
查看次数

比较PHP DateInterval

你如何比较两个DateInterval对象?就像是:

$d1 = new DateInterval("P1M");
$d2 = new DateInterval("P2M");

if($d2 > $d1)
{
    do something ...
}
Run Code Online (Sandbox Code Playgroud)

我可以将DateIntervals转换为秒,但有更好的方法吗?

谢谢您的帮助!

最好的祝福,

弗雷迪

php date

3
推荐指数
1
解决办法
820
查看次数

有效的解决方案:在php中使用base32编码

我正在为php寻找一个base32函数/类.我发现的不同类别和功能都非常无效.我运行了一个基准测试并得出以下结果:

10000个解码:

base32:2.3273秒

base64:0.0062秒

我使用的base32类是:

http://www.php.net/manual/en/function.base-convert.php#102232

有什么方法更简单吗?

我想使用base32的原因是它不区分大小写,因此我对url参数没有任何问题,这些参数在某些系统(例如电子邮件系统)上总是转换为小写字母.

如果您有更好的小写编码替代方案,我也很乐意听到它们.

php parameters url encoding decoding

3
推荐指数
3
解决办法
2万
查看次数

标签 统计

php ×3

date ×1

decoding ×1

encoding ×1

exception ×1

parameters ×1

performance ×1

url ×1