小编Seb*_*ski的帖子

PHP:在类定义中使用'use'

最近我遇到了一个use在类定义中使用语句的类.

有人可以解释它到底做了什么 - 因为我找不到任何有关它的信息.

我理解它可能是一种将它从给定文件的全局范围移开的方式,但它是否也允许给定的类继承多个父类 - 因为extends只允许一个父类引用?

我看到的例子是Laravel原始安装的User模型:

<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    use UserTrait, RemindableTrait;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password', 'remember_token');

}
Run Code Online (Sandbox Code Playgroud)

我已经看到这个模型的一些例子实际上使用了UserTrait类中包含的方法- 因此我怀疑,但我真的想了解更多关于所附use语句的含义.

PHP文档说:

use关键字必须在文件的最外层范围(全局范围)或命名空间内声明中声明.这是因为导入是在编译时完成的,而不是运行时,所以它不能是块作用域.以下示例将显示use关键字的非法使用: …

php oop namespaces multiple-inheritance

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

Laravel Middleware除了Route :: group之外

我正在尝试为管理部分创建一个组路由,并将中间件应用于除登录和注销之外的所有路径.

到目前为止我所拥有的是:

Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'authAdmin'], function() {

    Route::resource('page', 'PageController');
    Route::resource('article', 'ArticleController');
    Route::resource('gallery', 'GalleryController');
    Route::resource('user', 'UserController');

    // ...

});
Run Code Online (Sandbox Code Playgroud)

如何通过上述设置声明中间件的异常?

php laravel-routing laravel-5 laravel-middleware

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

PhpStorm:Darcula主题显示白色背景

我不确定发生了什么,但今天早上当我打开PhpStorm时,编辑器的背景现在是白色的,即使所选主题仍然是Darcula - 任何想法?昨晚一切都很好 - 但现在全都是白色的.

在此输入图像描述

phpstorm

20
推荐指数
2
解决办法
7748
查看次数

GitHub 组织概述选项卡:如何显示存储库列表

这有点奇怪 - 我的 GitHub 帐户下有几个组织,其中一些组织在“概述”选项卡下显示存储库列表,而其他组织则在标题下显示不同选项的列表We think you\xe2\x80\x99re gonna like it here.。我认为在设置每个组织时我没有做任何不同的事情,但是有谁知道如何替换

\n

在此输入图像描述

\n

与该组织下的存储库列表一样?

\n

在此输入图像描述

\n

github

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

VueJs:在另一个组件中使用组件

我正在尝试使用预定义属性的另一个主要组件.

这就是我想要实现的目标,但我只是得到了一个空div.

<template>
    <call-dialog-link
        :id="id"
        :url=url"
        message="Are you sure you wish to remove this record?"
        label="Remove"
        css-classes="alert"
    ></call-dialog-link>
</template>
<script>
    import CallDialogLink from './CallDialogLink.vue';
    export default {
        props: {
            id: {
                type: String,
                required: true
            },
            url: {
                type: String,
                required: true
            }
        },
        components: {
            'call-dialog-link': CallDialogLink
        }
    };
</script>
Run Code Online (Sandbox Code Playgroud)

这是CallDialogLink组件

<template>
    <span class="clickAble" :class="cssClasses" v-text="label" @click="clicked()"></span>
</template>
<script>
    export default {
        props: {
            id: {
                type: String,
                required: true
            },
            url: {
                type: String,
                required: true …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuejs2

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

PhpStorm:extract()标识变量

有谁知道PhpStorm中是否有一个设置可以触发使用extract()函数生成的识别变量?

示例如下所示:

/**
 * @return array
 */
protected function orderSet() : array
{
    //...

    return [
        'colour' => $colour,
        'green' => $green,
        'orange' => $orange
    ];
}


/**
 * @test
 */
public function returns_correct_attribute_names()
{
    $params = $this->orderSet();
    extract($params);

    $this->assertEquals(
        'Colour',
        $colour->name
    );
}
Run Code Online (Sandbox Code Playgroud)

目前,测试中提取的任何变量都被突出显示(无法识别),但是可能有一个设置可以改变这种行为?

php extract phpstorm

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

如何自动生成已实现接口的方法

在PhpStorm中是否有一种方法可以自动生成给定类正在实现的接口所需的空方法?

假设我们有一个带有3个方法的接口 - 在定义实现此接口的新类时 - 为所有必需方法自动生成容器的一些选项.

interface interface-implementation phpstorm

6
推荐指数
2
解决办法
4500
查看次数

PHPStorm:将文件类型添加到"新建"对话框

我刚刚重新安装了OS X并忘记了如何在new对话框中添加文件类型(当您在项目目录中右键单击时,选择new并查看不同文件类型的列表).我想添加Sass,目前尚未列出.当我选择Edit file templates它时,它只是在初始对话框中.

任何的想法?

在此输入图像描述 在此输入图像描述

phpstorm

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

VueJs:Textarea输入绑定

我试图弄清楚如何从组件内部检测textarea上值的变化。

对于输入,我们可以简单地使用

<input
  :value="value"
  @input="update($event.target.value)"
>
Run Code Online (Sandbox Code Playgroud)

但是,在textarea上这将无法工作。

我正在使用的是CKEditor组件,当父组件(附加到此子组件)的模型值更新时,它应该更新所见即所得的内容。

我的Editor组件当前如下所示:

<template>
    <div class="editor" :class="groupCss">
        <textarea :id="id" v-model="input"></textarea>
    </div>
</template>

<script>
    export default {
        props: {
            value: {
                type: String,
                default: ''
            },
            id: {
                type: String,
                required: false,
                default: 'editor'
            }
        },
        data() {
            return {
                input: this.$slots.default ? this.$slots.default[0].text : '',
                config: {
                    ...
                }
            }
        },
        watch: {
            input(value) {
                this.update(value);
            }
        },
        methods: {
            update(value) {
                CKEDITOR.instances[this.id].setData(value);
            },
            fire(value) {
                this.$emit('input', value);
            }
        },
        mounted () …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuejs2

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

os Catalina 和 Laravel Homestead MySql 错误:ERROR 2007 (HY000):协议不匹配;服务器版本 = 11,客户端版本 = 10

我正在尝试连接到MySQLVagrant 版本中的服务器Laravel Homestead,该版本运行MySQL 5.7.

我似乎从来没有遇到过任何问题,但是在我装有 Catalina 的新笔记本电脑上,尝试使用推荐设置进行连接时出现以下错误:

$ mysql --host=127.0.0.1 --port=33060 -uhomestead -p
Enter password:
ERROR 2007 (HY000): Protocol mismatch; server version = 11, client version = 10
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 mysql 客户端(Sequel ProWorkbench),错误消息完全相同。任何人都能够阐明如何解决这个问题?

mysql mysql-5.7 homestead macos-catalina

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