小编its*_*oco的帖子

PHP不正确的变量声明

调试遗留代码,我有一个奇怪的问题.遗留代码正在转移到PHP 7.2.我不知道它最初是为哪个版本的PHP编写的,但它确实可以在PHP 5.6中运行.

以下是我的问题示例......

$variable = '';
$variable['key'] = 'Hello World!';

echo $variable['key'] // H
Run Code Online (Sandbox Code Playgroud)

当我回显时$variable['key'],它只从值中获取第一个字符.我现在知道它是因为$variable最初声明为字符串.

但为什么这在PHP 5.6中有效?如果不拖曳数千行代码,我该怎么做才能在7.2中完成这项工作?

是否有strict_types我可以使用的指令?

php legacy-code php-5.6 php-7.2

9
推荐指数
1
解决办法
261
查看次数

PHP 有效的 http 状态

在我的网站上,用户可以在标准文本输入字段中输入 HTTP 状态代码。即,200、400、404、403 等...

有没有办法检查HTTP状态代码是否有效。例如,如果用户输入“123”,它将返回 false。除了做一个大的丑陋的 if 或 switch 语句之外,我目前想不出或找到其他方法。

php

4
推荐指数
1
解决办法
3053
查看次数

Nuxt-具有多个请求的asyncData

在我的应用程序中,我有一个卖方页面,其中显示该卖方列出的产品。我正在使用asyncData获取页面所需的所有数据(对于SEO更好)

asyncData ({params, app, error }) {

    return app.$axios.$get(`/seller/${params.username}`).then(async sellerRes => {

        let [categoriesRes, reviewsRes, productsRes] = await Promise.all([
            app.$axios.$get(`/categories`),
            app.$axios.$get(`/seller/${params.username}/reviews`),
            app.$axios.$get(`/seller/${params.username}/products`)
        ])

        return {
            seller: sellerRes.data,
            metaTitle: sellerRes.data.name,
            categories: categoriesRes.data,
            reviewsSummary: reviewsRes.summary,
            products: productsRes.data,
        }

    }).catch(e => {
        error({ statusCode: 404, message: 'Seller not found' })
    });
},
Run Code Online (Sandbox Code Playgroud)

尽管此方法可以完成预期的工作,但我还是忍不住认为自己做错了。

导航到页面时,nuxt进度栏显示两次(这很奇怪)。

我一直在搜索一段时间,以尝试在asyncData中查找多个请求的示例,但是那里并没有太多内容。

也许我不应该在asyncData中调用多个请求?

vue.js vuejs2 nuxt.js nuxt

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

Laravel验证-禁止请求参数的规则

在我的Laravel 5.8应用程序中,我有许多API路由返回分页结果。如果我向我的API请求附加了以下查询字符串,则可以禁用分页。

http://api.test/users/?no_paginate=1
Run Code Online (Sandbox Code Playgroud)

我的问题是...如何禁止在某些路线上使用no_paginate?我希望在请求类中进行一些验证,但是我在文档中找不到任何内容。

php laravel laravel-5 laravel-5.8

4
推荐指数
1
解决办法
70
查看次数

Laravel Sort Collection按动态ID数组

我有以下......

$people = array(5, 2, 9, 6, 11);

$people_collection = People::find($people);
Run Code Online (Sandbox Code Playgroud)

但是当我转储并死掉$people_collectionIDC ASC订购的集合时,我如何按照与$people数组相同的顺序保存集合?

php laravel eloquent laravel-5 laravel-5.2

2
推荐指数
1
解决办法
1097
查看次数

PHP错误处理缺少的参数

我目前正在开发我的PHP SDK以与REST API进行交互.假设API可以创建一个"汽车"模型.要创造一辆车,我会写这样的东西......

$car = $api->create('car', array(
   'wheels' => 6,
   'color'  => 'blue'
));
Run Code Online (Sandbox Code Playgroud)

如果其他开发人员下载我的SDK并尝试错误地创建汽车模型并忘记包含必需的参数.如何通过SDK抛出异常以通知开发人员缺少参数,除了他们看到PHP错误Warning: Missing argument 1 for BMW::create(),其中不包含许多细节.

php

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

按字母顺序重新排序 URL 查询字符串

我有一个看起来像这样的查询字符串......

let badString = "dogs=c,b,a&cats=z,y,x";

使用vanilla javascript或lodash框架,我试图将键和值重新排列成字母顺序,所以它最终会像......

let goodString = "cats=x,y,z&dogs=a,b,c"

javascript lodash

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