小编Mar*_*łek的帖子

如何在laravel验证中验证多个电子邮件?

我已经为laravel中的变量验证了所有的东西但是对于电子邮件我有一个简单的问题.

来自Laravel的文档,

'email' => 'required|email'
Run Code Online (Sandbox Code Playgroud)

我知道这只是一个电子邮件地址但是对于喜欢,

email=abc@xyz.com,xyz@abc.com, def@ghi,com
Run Code Online (Sandbox Code Playgroud)

当我发送电子邮件的数组时,我仍然收到电子邮件不是有效的电子邮件.我做得更像,

'email' => 'required|email|array'
Run Code Online (Sandbox Code Playgroud)

但我仍然有错误.可以任何身体帮助.

谢谢,

php email validation laravel laravel-validation

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

VirtualBox VM中的"连接:网络无法访问"

主持人:WinXP,来宾:Ubuntu 12.10,连接类型:只有NAT.内核IP路由表(路由-n)仅包含标头

使用ifconfig:

eth2      Link encap:Ethernet  HWaddr 08:00:27:c6:86:82  
          inet6 addr: fe80::a00:27ff:fec6:8682/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:4391 (4.3 KB)


lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)
Run Code Online (Sandbox Code Playgroud)

ping任何互联网地址都会出错:

连接:网络无法访问 …

networking virtual-machine

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

如何使用其他命名空间中的对象以及如何在PHP中导入命名空间

这两行之间的主要区别是什么?:

$obj = new ArrayObject();
Run Code Online (Sandbox Code Playgroud)

&

$obj = new \ArrayObject();
Run Code Online (Sandbox Code Playgroud)

当我使用第一行时出现错误:"Fatal error: Class '\Foo\Bar\ArrayObject' not found..."我不太确定为什么会出现此错误?第二条线似乎解决了这个问题.

php oop scope namespaces

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

首先使用"查询"构建器进行操作

如果我想使用eloquent获取数据库中第一个用户的名称,我可以这样做:

$user =  User::select('name')->first()->pluck('name');
// or $user =  User::first()->pluck('name');

echo $user;
Run Code Online (Sandbox Code Playgroud)

仅将此用户的名称作为字符串.

但是,如果我仅使用查询生成器尝试相同的操作:

$user =  DB::table('users')->select('name')->first()->pluck('name');

echo $user;
Run Code Online (Sandbox Code Playgroud)

我得到例外:

调用未定义的方法stdClass :: pluck()

但是没有先使用它会起作用:

$user =  DB::table('users')->select('name')->where('id',1)->pluck('name');

echo $user;
Run Code Online (Sandbox Code Playgroud)

这难道不是可以使用pluckfirst使用查询生成器或我做错了什么?

PS.当然我知道我可以使用$user->name而不使用显示任何属性,pluck但我只是好奇为什么使用Eloquent它工作并使用查询生成器它只有当没有和两个firstpluck

laravel eloquent laravel-4

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

Laravel 5 make:控制器在app文件夹中创建控制器而不是控制器文件夹

我正在学习如何使用Laravel 5,我遇到了一个问题,我的控制器是在"app"文件夹的根目录而不是"controller"文件夹中创建的.我不知道为什么会这样,因为我已经重新安装并检查了10次.

我在Windows 8.1上的gitbash ..

所以我走了

john@John ~/desktop/code/my-first-app
$ php artisan make:controller PagesController
Run Code Online (Sandbox Code Playgroud)

然后我明白了

控制器创建成功

只有它app在Controllers文件夹的根目录中创建而且没有任何内容.我错过了什么?我也看到其他人在laracasts视频的评论中遇到同样的问题.

makefile git-bash laravel laravel-5

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

修改laravel中间件中的输入

某些服务向我的站点发出 HTTP 请求并传递一些输入。这个输入的结构对我来说有点错误,所以我正在尝试修改它。

我制作了一个中间件并将这个中间件附加到我的路线上。句柄方法如下所示:

public function handle($request, Closure $next)
{
    $input = $request->all();

    // Input modification

    $request->replace($input);
    \Log::info($request->all()); // Shows modified request

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

但是在我的控制器中,我得到了旧的输入。另外我有点困惑,因为我也使用 FormRequest,而且我意识到这两个请求是不同的实体。那么如何修改中间件中的输入呢?

php laravel laravel-5 laravel-middleware laravel-5.1

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

文件上传到aws S3 Laravel 5.1

我收到以下错误:

FilesystemManager.php第179行中的FatalErrorException:未找到类'League\Flysystem\AwsS3v3\AwsS3Adapter'

码:

//Composer.json

    "require": {
            "php": ">=5.5.9",
            "laravel/framework": "5.1.*",
            "laravel/socialite": "~2.0",
            "guzzlehttp/guzzle": "~4.0",
            "predis/predis": "^1.0",
            "tymon/jwt-auth": "0.5.*",
            "league/flysystem-aws-s3-v2": "^1.0"
        },
        "require-dev": {
            "fzaninotto/faker": "~1.4",
            "mockery/mockery": "0.9.*",
            "phpunit/phpunit": "~4.0",
            "phpspec/phpspec": "~2.1"
        }

//config/filesystem.php


    'default' => 's3',
     'cloud' => 's3',
     'disks' => [

            'local' => [
                'driver' => 'local',
                'root'   => storage_path('app'),
            ],

            's3' => [
                'driver' => 's3',
                'key'    => '***********',
                'secret' => '**************************************',
                'region' => '*****',
                'bucket' => '************',
            ],


        ],

//FileController

    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use App\Http\Requests;
    use …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 laravel composer-php laravel-5 laravel-5.1

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

可以在Request类中授权方法为HandlesAuthorization特性返回自定义消息吗?

我在Request类中有以下代码来检查用户是否有权执行更新.

HandlesAuthorization trait,默认情况下给出默认消息.有没有办法返回自定义消息?我看到在授权方法Request class可以return boolean只值.

class UpdateRoleRequest extends Request
{
    private $UserPermissionsSession;

    public function __construct(IRole $Role) {
        $this->UserPermissionsSession = new UserPermissionsSession();
    }

    public function authorize() {
        $UserID = \Auth::user()->UserID;
        return $this->UserPermissionsSession->CheckPermissionExists($UserID);
    }

}
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5 laravel-request laravel-authorization laravel-5.5

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

Laravel Carbon查看日期是否已过去

我很困惑,也许这是我看不到的简单事情.如果我想看看今天的日期是否过去,我应该能够做到这样的事情吗?

if( $league->date_start <= Carbon::now() ){
    $join  = false;
    $message = 'Sorry, the league has already started';
}
Run Code Online (Sandbox Code Playgroud)

如果我把它的日期转出来

$league->date_start = 2017-07-31 00:00:00
Carbon::now() = 2017-11-01 16:29:27
Run Code Online (Sandbox Code Playgroud)

$league->date_start 是一个受保护的日期,所以它是一个碳实例

但这不起作用,如果我切换到$league->date_start >= Carbon::now()它工作,不会让我加入.我知道"联盟"的开始日期是过去所以不应该是$league->date_start <= Carbon::now()?????

php laravel php-carbon

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

测试覆盖特征方法执行

我有这样的情况.我有一些第三方特征(我不想测试)我有我的特性使用这个特性,在某些情况下运行第三方特征方法(在下面的例子我总是运行它).

当我有这样的代码:

use Mockery;
use PHPUnit\Framework\TestCase;

class SampleTest extends TestCase
{
    /** @test */
    public function it_runs_parent_method_alternative()
    {
        $class  = Mockery::mock(B::class)->makePartial();

        $class->shouldReceive('fooX')->once();

        $this->assertSame('bar', $class->foo());
    }

    protected function tearDown()
    {
        Mockery::close();
    }
}

trait X {
    function foo() {
        $this->something->complex3rdpartyStuff();
    }
}

trait Y2 {

    function foo() {
        $this->fooX();
        return 'bar';
    }
}

class B {
    use Y2, X {
        Y2::foo insteadof X;
        X::foo as fooX;
    }
}
Run Code Online (Sandbox Code Playgroud)

它会工作正常,但我不希望代码组织这样.在上面的类I代码中使用两个traits,但在代码中我想测试其实trait使用开头提到的其他特性.

但是当我有这样的代码时:

<?php

use Mockery;
use PHPUnit\Framework\TestCase;

class SampleTest extends TestCase
{
    /** …
Run Code Online (Sandbox Code Playgroud)

php testing phpunit unit-testing mockery

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