php - 将类作为函数参数传递

标签 php laravel laravel-5 laravel-5.1

我正在尝试做这样的事情:

function doSomething($param, Class) {
Class::someFunction();
}

$someVar = doSomething($param, Class);

这可能吗?

为了更好地解释我正在尝试做的事情。我在 Laravel 中有一个辅助函数来生成独特的 slug,所以我必须根据 slug 的保存位置查询不同的表。

我正在尝试编写的实际代码:

$newcat->slug = $helper->uniqueSlug($appname, Apk);

public function uniqueSlug($str, Apk)
    {
        $slug = Str::slug($str);

        $count = Apk::whereRaw("slug RLIKE '^{$slug}(-[0-9]+)?$'")->count();

        return $count ? "{$slug}-{$count}" : $slug;
    }

谢谢!

最佳答案

你可以使用神奇的::class常量:

public function uniqueSlug($str, $model)
{
    $slug = Str::slug($str);

    $count = $model::whereRaw("slug RLIKE '^{$slug}(-[0-9]+)?$'")->count();

    return $count ? "{$slug}-{$count}" : $slug;
}

$newcat->slug = $helper->uniqueSlug($appname, Apk::class);

关于php - 将类作为函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32614696/

相关文章:

javascript - PHP mysql 先前声明的函数问题

php - WhereHas Laravel 中的关系计数条件是什么

mysql - Laravel 路由参数未修剪(通常在添加空格时有效)

php - 如何在上传到文件系统时避免使用相同的图像名称

php - 如何在PHP中使用跟随兄弟的xpath查询?

php - 在自定义表单请求中找不到路线

php - 有没有办法在 Laravel Dusk 中断言当前 URL 值?

mysql - 在 laravel 中获取由外键引用标识的行

php - Laravel 操作未获得授权

laravel - 如何在 Laravel 中使用 Faker 填充嵌套类别表?