Я хочу знать, есть ли способ загрузить все сущности сразу без необходимости загружать одну за другой, потому что для такого проекта, как у меня более 20 сущностей, писать все объемы и даже много кода, необходимые на странице, слишком велики, чтобы их можно было декларировать.
Например, заголовок моего файла выглядит так:
<?php
namespace App\DataFixtures;
use App\Entity\Food;
use App\Entity\Goal;
use App\Entity\Loan;
use App\Entity\Daily;
use App\Entity\Health;
use App\Entity\Monthly;
use App\Entity\FoodType;
use App\Entity\LoanType;
use App\Entity\Reminder;
use App\Entity\DailyType;
use App\Entity\Medicines;
use App\Entity\HealthType;
use App\Entity\MonthlyType;
use App\Entity\TuitionFees;
use App\Entity\ReminderType;
use App\Entity\MedicinesName;
use App\Entity\ReceiveMonthly;
use App\Entity\TuitionFeesType;
use App\Entity\HouseholdExpenses;
use App\Entity\ReceiveMonthlyType;
use App\Entity\HouseholdExpensesType;
И я хочу знать, существует ли что-то лучше, чем это:
<?php
namespace App\DataFixtures;
use App\Entity\ as E;
$test = new E\Food();






Это зависит. Если вы используете PHP 7, вы можете сгруппировать операторы использования следующим образом: use some\namespace\{ClassA, ClassB, ClassC as C};, в противном случае ответ будет отрицательным, методы, которые вы описали, являются единственным способом
Я использую Php 7.2. На самом деле я работаю над Symfony4. Если метод, который вы показываете, похож на 3v4l.org/5MCAR, @LawrenceCherone говорит, что "большинству линтеров качества кода это не понравится".
Ну, я думаю, это зависит от ваших приоритетов, я уверен, что вы могли бы добавить исключение в свой линтер, чтобы игнорировать его (в конце концов, это совершенно верно) или использовать одно из своих решений.
В любом случае, по-вашему, заставьте меня написать больше, чем просто использовать use App \ Entity как E;
Вы можете попробовать что-то вроде этого:
<?php
namespace App\Entity;
class Food {
public function hello() {
print('Hello World!');
}
}
function E($class, ...$params) {
$class = 'App\\Entity\\' . $class;
return new $class(...$params);
}
$food = E('Food');
$food->hello();
Это означает, что если я хочу создать, это будет $ food = E ('food'); вместо $ food = new E \ Food () ;?
Проверьте последние 2 строки кода, я уже включил пример того, как создать экземпляр App \ Entity \ Food: $food = E('Food'); $food->hello();