小编clo*_*986的帖子

我应该如何用Laravel服务?

我将用户个人资料图片存储在laravel存储文件夹而不是公用文件夹中,因为我希望保持公共文件夹不干净,避免用户混乱.

为了从该文件夹提供图像,我创建了一个简单的Controller Action,如下所示:

public function profilePicture($person, $size = 40){
    $profile_picture_url = storage_path().'/profile_pictures/'.$person['id'].'/profile_'.$size.'.jpg';

    if(!File::exists( $profile_picture_url ))
        App::abort(404);

    return Image::make($profile_picture_url)->response('jpg');
}
Run Code Online (Sandbox Code Playgroud)

这可以被认为是一个好习惯,还是我应该只是将图片保存在公共文件夹中?这样做会遇到性能问题吗?

php performance laravel

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

当bootstrap模态打开时,无法在input type ="text"中键入(或甚至焦点)

我有一个jquery代码,可以创建一个下拉菜单,并将其放在用户右键单击的位置.一切正常,除了一件事:我不能在输入字段内输入.

生成的下拉列表如下所示:

<ul role="menu" style="display: none; position: absolute; left: 751px; top: 294px; z-index: 999999;">
    <li><a href="#">Link 1</a></li>
    <li role="separator" class="divider"></li>
    <li><input type="text" name="filter"></li>
    <li style="height:200px;" class="scroll-container-y">
        <ul class="list-unstyled gutter-left-small">
            <li><a href="#">Sublink 1</a></li>
            <li><a href="#">Sublink 2</a></li>
            <li><a href="#">Sublink 3</a></li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在我的想法中,输入将用于过滤子链接.

我尝试了什么(没有结果):

  • 改变z指数
  • 强制$('输入').焦点()
  • 强制$('输入').get(0).focus()
  • 玩CSS用来检查它是否只是白色背景上的白色文字
  • 检查代码以查看其他jQuery是否在干扰

希望你们能帮忙.

编辑(工作示例):看来,这是一个引导的问题:因为你可以从这个小提琴看到http://jsfiddle.net/2gkjb0h8/3/可直到引导模式被打开输入输入.仍然不知道如何解决这个问题.

编辑2:这是我想要实现的图像http://prnt.sc/bxbucf 在模态中,将有一个可选择TD的表格; 一旦选中,用户可以右键单击打开带有教师列表的上下文菜单(每个教师都是一个链接).这已经有效,输入是允许过滤所有可能的名称.

html javascript css jquery twitter-bootstrap

10
推荐指数
3
解决办法
9217
查看次数

我可以在打印HTML页面时使用范围CSS吗?(使用Laravel和Vue.js)

我应该将scoped CSS放在我的主文件中,还是应该更改print函数以容纳组件的scoped CSS?在第二种情况下,我应该如何更改JS功能?

我使用Laravel 5和许多Vue组件.在其中一个中,我有以下范围的CSS

<style scoped>
    td.not-purchased{
        background-color: darkgrey;
    }
    td.not-assigned-here{
        background-color: lightgreen;
    }
    td .checkbox{
        margin-top: 0;
        margin-bottom: 0;
        display: inline-block;
    }

    table th:nth-child(n+3),
    table td:nth-child(n+3){
        width: 50px;
        overflow-x: hidden;
        text-overflow: ellipsis;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

打印生成的内容时,该功能在新页面中打开内容,并将外部CSS复制到原始文档的HEAD中.

$(document).on('click', '.glyphicon[data-printselector]', function(){
        if($(this).data('printselector') != ''){
            // Print in new window
            let printHtml = $($(this).data('printselector')).clone(),
                printWindow = window.open(),
                waitTimeout;

            $(printWindow.document.body).append($('<div />', {class: 'container'}).append(printHtml));


            $.each($('link'), function() {
                $(printWindow.document.head).append($(this).clone());

                clearTimeout(waitTimeout);
                waitTimeout = setTimeout(function(){
                    // Here we ensure that CSS is loaded properly
                    printWindow.print();
                    printWindow.close();
                }, …
Run Code Online (Sandbox Code Playgroud)

javascript css laravel vue.js vue-component

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

发送STMT_PREPARE数据包时出错.PID = 2

我不知道为什么我遇到这个错误.

我有以下脚本:

foreach($brands as $brand){ // about 600items for this loop
    ....
    ....
    DB::table('mailing_list')->insert(array(
                        'email'     => $email,
                        'source'    => $source,
                        'source_url'=> $brand->external_url,
                        'facebook_url'  => $facebook_url,
                        'instagram_id'  => $instagram_username,
                        'instagram_url' => $instagram_url,
                        'instagram_followers'   => $instagram_followers
                    ));
}

它始终在同一个项目中打破

Error while sending STMT_PREPARE packet. PID=2 (SQL: insert into `mailing_list` (`email`, `source`, `source_url`, `facebook_url`, `instagram_id`, `instagram_url`, `instagram_followers`) values (some@email.com, source, www.url.com, https://www.facebook.com/url, some_username, http://instagram.com/url, 501))

在我执行29个查询之前,现在是34个.

我想更好地理解这个错误:它可能是单个条目打破它,但即使我发布的数据是胡言乱语,实际的看起来很好.

我做了什么:

set_time_limit(3600);
DB::connection()->disableQueryLog();
DB::reconnect(Config::get('database.default')); // this one after each foreach loop

php mysql laravel eloquent laravel-4

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

PhraStorm中的Laravel 4 Blade标记和Ide Helper

我无法在PhpStorm中设置自动完成功能来处理Laravel 4 blade.php文件.我到处搜索,但我找不到其他用户的问题.我已经在https://github.com/barryvdh/laravel-ide-helper上正确安装了此存储库,但我仍然得到刀片页面的空白格式.

谢谢

phpstorm laravel blade laravel-4

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

捕获 Laravel 中的内存耗尽错误

我希望能够在 laravel 中捕获以下错误

PHP Fatal error:  Allowed memory size of 201326592 bytes exhausted
Run Code Online (Sandbox Code Playgroud)

我目前在全局中使用以下脚本来捕获其他错误,但这个特定错误似乎绕过了它。

App::error(function (Exception $exception, $code) {}
Run Code Online (Sandbox Code Playgroud)

谢谢

php laravel

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

Vue.js 移除组件的最佳实践

我的网站会覆盖特定的 DOM,而不是要求加载页面。有时,DOM 内部会有一些 Vue.js 组件(都是单页组件),这些组件会被覆盖。它们中的大多数驻留在仅为构建组件而创建的应用程序中。

两个问题:

  1. 我需要销毁这些组件吗?如果是:如何?

  2. 这种方法有没有更好的解决方案?

vue.js

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

Composer:供应商文件夹中缺少一些文件

如何强制 Composer 完全重新安装我的所有供应商软件包?

在与服务器同步时,我丢失了供应商文件夹中的大部分 JS 文件。它发生了。我注意到没有命令强制作曲家完全重新安装软件包。它的作用是检查版本是否是最新上传的,如果是则跳过该包。删除锁定文件也不起作用。

有办法解决这个问题吗?

github composer-php

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

php one_liner如果与javascript相比

我最近在javascript中编写了很多程序,我试图在PHP中使用一些简写.

请考虑以下声明:

$value = 1;

return $value == 1 ?
    'a' : $value == 2 ? 'b' : 'c';
Run Code Online (Sandbox Code Playgroud)

谁能解释一下为什么这会'a'在jQuery和'b'php中返回?

javascript php

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

当负载突然变为 NULL 时,如何解决 Laravel 8 中的“负载无效”

当尝试解密之前加密的密码时,我不断收到此错误:

The payload is invalid.
Run Code Online (Sandbox Code Playgroud)

这是相关的堆栈跟踪:

#0 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php(136): Illuminate\Encryption\Encrypter->getJsonPayload(NULL)
#1 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php(164): Illuminate\Encryption\Encrypter->decrypt('eyJpdiI6InloT0U...', false)
#2 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\Encryption\Encrypter->decryptString('eyJpdiI6InloT0U...')
#3 /home/improojf/public_html/app/Models/Server.php(29): Illuminate\Support\Facades\Facade::__callStatic('decryptString', Array)
#4 /home/improojf/public_html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(473): Server->getPasswordAttribute('eyJpdiI6InloT0U...')
Run Code Online (Sandbox Code Playgroud)

这里最大的问题是NULL加密器代码中随机出现一个字符串,这对我来说毫无意义。

另一个问题是,某些记录的行为只是预期的。

我用它做什么 这是用来在数据库中存储 smtp/pop3 服务器的密码

我尝试过的方法 通过不加密/解密密码完美解决了这个问题,这扰乱了目的

它总是返回错误吗?不,事实上有一些记录表现正常

我的猜测 php artisan cache:clear可能是其他地方报道的一种选择,但我认为应该有另一种解决方案。到目前为止,我已经(未经测试)以下访问器,而之前我只有第二次 try/catch

public function getPasswordAttribute($value){
    try {
        return Crypt::decryptString($value);
    } catch (\Illuminate\Contracts\Encryption\DecryptException $e) {
        \Illuminate\Support\Facades\Artisan::call('cache:clear');
    }
    try {
        return Crypt::decryptString($value);
    } catch (\Illuminate\Contracts\Encryption\DecryptException $e) {
        if(app()->runningUnitTests())
            return $value;
        else
            throw $e;
       }
}
Run Code Online (Sandbox Code Playgroud)

php password-encryption laravel laravel-8

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

Laravel Echo错误处理(使用Pusher)

是否有关于此主题的指南?我已经阅读了pusher文档,并且使用类似于以下代码的方法来管理断开连接似乎相当容易:

pusher.connection.bind('disconnected', function() {
    // Do Something
})
Run Code Online (Sandbox Code Playgroud)

我不确定如何将其与Echo集成,因为我的代码如下:

window.EchoConnection = new Echo({
    broadcaster: 'pusher',
    key: window.EchoKey,
    cluster: 'eu',
    encrypted: true
});
Run Code Online (Sandbox Code Playgroud)

编辑:为了检查断开连接事件,请window.EchoConnection.connector.pusher.connection.disconnect()在控制台中运行

laravel pusher laravel-5 laravel-echo

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