canihelpyou

248 经验值

laravel5.4的routes文件夹中的console.php和channels.php是做什么的?

laravel里面一个controller中的方法要调用另一个controller中的方法要怎么做?

比如:
AaaController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class AaaController extends Controller
{
    public function aaa()
    {
        //...
    }
}

BbbController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class BbbController extends Controller
{
    public function bbb()
    {
        //这里要调用aaa(),应该怎么做?
    }
}

BbbController中的bbb()方法要调用AaaController中的aaa()方法,要怎么做?

“门面”和“契约”的应用场景是什么?这两个东西和上面的“服务容器”与“服务提供者”有什么关系吗?

在一个calssuse一个文件和在class外面use一个文件有什么区别?

比如经常看到在namespace之后就有一堆use,这些useclass外面,
有的use又是在class里面,两者有什么区别?

示例:HttpControllersAuthRegisterController.php

<?php

namespace App\Http\Controllers\Auth;


use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;



class RegisterController extends Controller
{
    use RegistersUsers;
    
   //...

}

比如我在App目录下新建了一个目录Services,里面放了一个发送邮件的服务EmailService.php,我要在其他控制器中调用的时候,可以直接引用它:

use App\Services\EmailService;

然后就可以正常使用了。

那么问题来了:
1、像上面那样已经可以正常使用,那什么情况下要把这个服务放到服务容器里面去?放到服务容器里面的作用是什么?
2、服务提供者服务容器之间的关系一直搞不太清楚,究竟服务是放到服务容器里面还是服务提供者里面?服务提供者服务容器他们各自的职责是什么?

站长能否讲一下用微信和QQ登录?