@font-face {
font-family: "Open Sans";
src: local("Open Sans"), url("../assets/fonts/OpenSans/OpenSans-Regular.woff2") format("woff2");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: "Open Sans";
src: local("Open Sans"), url("../assets/fonts/OpenSans/OpenSans-Bold.woff2") format("woff2");
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: "Open Sans";
src: local("Open Sans"), url("../assets/fonts/OpenSans/OpenSans-BoldItalic.woff2") format("woff2");
font-weight: 700;
font-style: italic;
}
А нельзя как-то все классы в один объединить, чтобы
var main = new Main();
class Main {
constructor(connect, room){
this.connect = connect;
this.room = room;
}
}
const main = new Main(
new Connect,
new Room
)
$userId = Auth::user()->id; // Переменную плохо назвали. Это ID, а не пользователь
$editor = Pass::where('user_id', $userId)->first(); // А здесь редактор, не ID. Может быть NULL если не найдено.
// Нужно проверить, нашлась ли запись и совпали ли ID
//if ($editor && $userId == $editor->user_id) { }
// Но исходя из условия запроса, если запись нашлась, то ID уже совпали
// Значит достаточно такой проверки:
if ($editor) { }
class SoapController extends Controller
{
/** @var \Artisaninweb\SoapWrapper\SoapWrapper */
protected $soap;
/** @var \Artisaninweb\SoapWrapper\Client */
protected $client;
public function __construct(SoapWrapper $soap)
{
$this->soap = $soap;
$this->client = null;
}
public function getComputers()
{
try {
$clientId = request()->get('clientId', 0);
$orgId = request()->get('orgId', 0);
$this->initSoap();
$response = $this->client->call('GetComps', [
[
'ClientId' => $clientId,
'OrgId' => $orgId,
],
]);
$computers = json_decode($response->GetCompsResult, true);
return response()->json($computers, 200);
} catch (\Throwable $e) {
return response()->json([
'message' => $e->getMessage(),
], 500);
}
}
/**
* @throws \Exception
*/
protected function initSoap()
{
$clientName = 'some_name';
$wsdl = config('app.soap_wsdl');
if (!$wsdl) throw new \Exception('Invalid wsdl');
$version = $this->getSoapVersion();
$this->soap->add($clientName, function (SoapService $service) use ($wsdl, $version) {
$service
->wsdl($wsdl)
->options(['soap_version' => $version]);
});
$this->client = $this->soap->client($clientName, function ($client) { return $client; });
}
/**
* @return int
* @throws \Exception
*/
protected function getSoapVersion()
{
switch (config('app.soap_version')) {
case '1.1':
return SOAP_1_1;
case '1.2':
return SOAP_1_2;
default:
throw new \Exception('Invalid SOAP version');
}
}
}
use App\Models\Route;
use App\Controllers\TestController;
return [
new Route('/test/uri', TestController::class, 'testFunc')
];
new $elem->controller
, то получается new TestController
, без неймспейса.::class
содержит полное имя класса в виде строки.new \App\Controllers\TestController
return [
new Route('/test/uri', '\\App\\Controllers\\TestController', 'testFunc')
];
Ну, ок, допустим, беру какую-нибудь задачу. Прочёл текст. А дальше-то что? Я не знаю как подойти к решению задачи, с чего начать, что вообще делать и чем закончить.
$b = new B;
$b->show(); // true
A::noConstraints(function() use($b) {
$b->show(); // false
});
li + li {}
Выбирает все элементы кроме первого.li:last-child {}
Выбирает только последний элемент.li:not(:first-child) {}
div > (a + p + p + p)
p + p
выберет последние два параграфаp:not(:first-child)
- все параграфы.