En primer lugar no entienden, leer, en la segunda mitad de esta explicación está haciendo. De hecho, suele ser muy habitual en este otro marco, sólo que no sabemos su nombre se llama inyección de dependencias.
Para el código de sincronización agradable aplicación máquina local y Linux virtual, es posible por medio de WinSCP sincronizar automáticamente el archivo local con el servidor
Saqué el tejido local
se seleccionan directorio raíz
y luego se puede editar directamente el nuevo archivo con un editor en el local y de forma automática sincronización a Linux. Principalmente con el fin de ser capaz de prensa Ctrl
para ver el camino.
texto
Supongamos que necesitamos IndexController
para llamar dentro de la UserService
clase de getInfoById(int $id)
método.
Servicio app \ \ UserService.php
<?php
namespace App\Service;
class UserService
{
public function getInfoById(int $id)
{
return $id;
}
}
Inyección mediante el constructor, este ejemplo sólo para facilitar la comprensión, sin la atención
App \ Controller \ IndexController.php
<?php
namespace App\Controller;
use App\Service\UserService;
use Hyperf\HttpServer\Annotation\AutoController;
/**
* @AutoController()
*/
class IndexController
{
/**
* @var UserService
*/
private $userService;
// 通过在构造函数的参数上声明参数类型完成自动注入
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function index()
{
$id = 123;
// 直接使用
return $this->userService->getInfoById($id);
}
}
http://192.168.1.109:9501/index/index
Mediante la inyección comentario @Inject
<?php
namespace App\Controller;
use App\Service\UserService;
use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\AutoController;
/**
* @AutoController()
*/
class IndexController
{
/**
* 通过 `@Inject` 注解注入由 `@var` 注解声明的属性类型对象
*
* @Inject
* @var UserService
*/
private $userService;
public function index()
{
$id = 2333;
// 直接使用
return $this->userService->getInfoById($id);
}
}
http://192.168.1.109:9501/index/index
Notado? De hecho, llamé a una clase.
Flecha son de la misma clase.
De hecho, no es necesario hacer nuevos que se puede utilizar directamente en una clase por el controlador índice @ var.
La forma en que el constructor no se utiliza @Inject, por lo que necesita para inicializar la asignación mediante el constructor.
Mediante la adición de @Inject
anotaciones, el método también se puede configurar sin usar lograr el efecto deseado.