草庐IT

try-catch-else

全部标签

php - Laravel QueryException 绕过 try-catch?

我正在使用Laravel4和EloquentORM。在我的系统中,当有人删除一条记录时,它必须检查它是否有任何关联的记录。如果没有,那么它可能会被永久删除。但如果确实如此,只需执行softDeletion。处理这种情况的方法是:尝试forceDelete,如果它因为引用完整性而抛出异常,则捕获它并进行softDelete。我知道这看起来很花哨,但它是由另一位开发人员制作的,我不想弄乱他的代码。他做的是删除,然后如果抛出Exception,只要设置一个flag来“停用”这条记录。它确实运作良好。然而,当我接手时,我实现了softDeleting来让事情不那么花哨。现在,当它尝试强制删除时

php - PHP 中的 "Trying to get properties on a non-object"

我是一名WordPress主题开发人员,在我正在开发的主题上,我打开了Debug模式,并在主题选项页面的选择下拉框中收到此错误。错误是这样说的:“正在尝试获取非对象的属性。”这是有问题的代码:"id="">term_id;?>"term_id){echo'selected="selected"';}?>>name;?>我不知道我做错了什么。具体导致错误的行是这样的:term_id;?>"term_id){echo'selected="selected"';}?>>感谢您的建议!:) 最佳答案 你这样做了几次:$option->som

php - 递归正则表达式中的 If-else 未按预期工作

我正在使用正则表达式来解析一些BBCode,因此正则表达式必须递归地工作以匹配其他标签内的标签。大多数BBCode都有一个参数,有时它会被引用,但并非总是如此。我正在使用的正则表达式的简化等效项(带有html样式标签以减少所需的转义)是这样的:'~#Matchthetag,andrequireaclosingquoteifanopeningoneprovided([^~x'但是,如果我有一个如下所示的测试字符串:ContentAlsoContent它只匹配AlsoContent因为当它尝试从第一个标签匹配时,第一个匹配组\1,设置为",并且当递归运行正则表达式以匹配内部标记时,这不会被

php - 在 JS 不好的做法中使用 PHP if/else 吗?

我正在为WordPress构建一个自定义模板,并且在几个地方我使用了PHPifelse语句,例如页脚中的JS中的以下示例。它工作正常,但我想知道这是否被认为是“不好的做法”,如果是的话,什么是更好的处理方法?var$submenu=$('.submenu');//SUBMENUanimation//ifnotaCollectionsubpage$('.menulia').each(function(){if($(this).text()=='Collection'){//IfisCollectionlinkshowsubmenuonhover$(this).mouseenter(fun

MySQL IFNULL ELSE

我有一个select语句,我想让select像这样有条件:IFNULL(field_a,field_a,field_b)以便它检查字段a。如果a为null,则选择字段b。这可能吗? 最佳答案 使用COALESCE:SELECTCOALESCE(field_a,field_b)COALESCE是一个ANSI标准函数,它返回指定列列表中的第一个非空值,从左到右处理列。所以在示例中,如果field_a为null,则会显示field_b值。但是,如果指定的列中没有非空值,则此函数将返回NULL。它在MySQL(我在4.1上使用过)、SQLS

MySQL IFNULL ELSE

我有一个select语句,我想让select像这样有条件:IFNULL(field_a,field_a,field_b)以便它检查字段a。如果a为null,则选择字段b。这可能吗? 最佳答案 使用COALESCE:SELECTCOALESCE(field_a,field_b)COALESCE是一个ANSI标准函数,它返回指定列列表中的第一个非空值,从左到右处理列。所以在示例中,如果field_a为null,则会显示field_b值。但是,如果指定的列中没有非空值,则此函数将返回NULL。它在MySQL(我在4.1上使用过)、SQLS

php - 如何在 PHP 中使用三元运算符代替 if-else

我正在尝试使用三元运算符来缩短我的代码。这是我的原始代码:if($type="recent"){$OrderType="sidDESC";}elseif($type="pop"){$OrderType="counterDESC";}else{$OrderType="RAND()";}如何在我的代码中使用三元运算符而不是ifs/elses?$OrderType=($type="recent")?"sidDESC":"counterDESC";这是我试过的代码,但不知道如何向其中添加“elseif部分”。 最佳答案 这称为三元运算符;-

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Allowedmemorysizeof33554432bytesexhausted(triedtoallocate43148176bytes)inphp我在执行我的代码时遇到了以下错误。Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate32bytes)也尝试了ini_set('memory_limit','128M');但没有用。我的php.ini文件中的内存限制是128MB。请帮助。我正在添加代码。我是php的新手,请帮

file-upload - PHP fatal error : Out of memory (allocated 80740352) (tried to allocate 12352 bytes) in

当用户在我的网站上上传图片时出现此错误。错误消息是“PHPfatalerror:/home中内存不足(已分配80740352)(已尝试分配12352字节)......”我该如何使用php.ini解决这个问题?这是我当前的上传php.ini设置upload_max_filesize=2000M;post_max_size=2000Mmax_file_uploads=8有什么想法我还需要添加什么来解决这个错误吗? 最佳答案 最佳memory_limit值取决于您对上传文件的处理方式。您是使用file_get_contents还是GD库将

php - 使用 Nginx 使用 try_files 将所有对不存在文件的请求重写为 index.php

我正在尝试将普通的htaccess文件转换为Nginx,但无法正常工作。它返回404错误。这是htaccess的内容:RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule^(.*)$index.php[L]这是我当前的nginx配置:server{listen80;server_namedomain.biz;root/var/www/domain.biz;charsetutf-8;autoindexoff;location/{try_files$uri$uri//index.php?$