powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP два одинаковых имени php
4 сообщений из 4, страница 1 из 1
PHP два одинаковых имени php
    #40026738
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый...
у меня есть module.php в директории моделей(CRUID)
И есть module.php в директории представления.View
И вдруг случилась логика когда они пересекаются
Код: php
1.
2.
  include_once("./execSQL/Common/module.php");
 $module=new module($conn,$jsonobject);


Получаю ошибку
Код: html
1.
 Cannot declare class module, because the name is already in use


Их можно как-то указать алиасом PHP интерпритатору или придется namespace использовать?
...
Рейтинг: 0 / 0
PHP два одинаковых имени php
    #40026755
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так понимаю, разные классы с одним именем декларированы в разных местах. Ну да, неймспейс, если это действительно разные по функционалу классы.
Если же имеет место тупой копипаст класса, то такое решение не гуд. В качестве изврата можно, конечно, class_exists() проверять перед загрузкой.
...
Рейтинг: 0 / 0
PHP два одинаковых имени php
    #40026759
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
Это именно разные классы с совершеенно разным функционалом.(Названные для удобства управления кодом и тестированием)
namespace пока не хочется использовать framеwork постороен по автоматичесой диспетчирезации от браузерного запроса
(Ну типа один endpoint на все таблицы и любой cruid)
Код: php
1.
2.
3.
4.
$queryname = $jsonasobject["table_name"];
include_once(SYS_BASE_PATH . "/execSQL/Common/" . $queryname . ".php");
        $t = new $queryname($conn, $jsonasobject);
        if ($t instanceof Idbcommon) $t->cruid($jsonasobject)


И по-идее не должно было пересекаться (ибо в браузере сначала строится control view а потом он по rest со своим именем запрашивает данные(или действия) своего имени)
namespace вынудит персмотреть концепцию...(рефакторинг... тестирование и т.д...)
Захотели сделать чуть круче(автоматически меню генерирловать по базе...чтоб ещё гибкость добавить)
Пока просто сделал
Код: php
1.
 class modulemenu extends module
...
Рейтинг: 0 / 0
PHP два одинаковых имени php
    #40026806
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al
И вдруг случилась логика когда они пересекаются

irbis_al
И по-идее не должно было пересекаться
Вы уж определитесь с идеей и логикой, требуется ли пересечение или нет. Если не требуется, тады выходит, что код не соответствует логике. Или идее.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP два одинаковых имени php
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]