Есть ли способ лучше, чем использовать App \ Entity \ as E

Я хочу знать, есть ли способ загрузить все сущности сразу без необходимости загружать одну за другой, потому что для такого проекта, как у меня более 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.net/manual/en/language.oop5.autoload.php
Ylber Veliu 20.08.2018 18:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
175
2

Ответы 2

Это зависит. Если вы используете PHP 7, вы можете сгруппировать операторы использования следующим образом: use some\namespace\{ClassA, ClassB, ClassC as C};, в противном случае ответ будет отрицательным, методы, которые вы описали, являются единственным способом

Я использую Php 7.2. На самом деле я работаю над Symfony4. Если метод, который вы показываете, похож на 3v4l.org/5MCAR, @LawrenceCherone говорит, что "большинству линтеров качества кода это не понравится".

jeremytrindade 19.08.2018 21:23

Ну, я думаю, это зависит от ваших приоритетов, я уверен, что вы могли бы добавить исключение в свой линтер, чтобы игнорировать его (в конце концов, это совершенно верно) или использовать одно из своих решений.

MC57 19.08.2018 23:53

В любом случае, по-вашему, заставьте меня написать больше, чем просто использовать use App \ Entity как E;

jeremytrindade 20.08.2018 10:16

Вы можете попробовать что-то вроде этого:

<?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 () ;?

jeremytrindade 20.08.2018 14:43

Проверьте последние 2 строки кода, я уже включил пример того, как создать экземпляр App \ Entity \ Food: $food = E('Food'); $food->hello();

Filippo Toso 22.08.2018 16:00

Другие вопросы по теме