Нужны предложения по названию 2 классов в PHP - PullRequest
0 голосов
/ 16 марта 2011

У меня есть один класс user, который инициируется в /update/user.php при запуске update.php.Этот класс обрабатывает пользовательские запросы к базе данных, такие как редактирование, удаление, создание и т. Д.

Я нахожусь в процессе создания нового класса с именем user в /src/user.php, который будет выполнять пользовательсвязанные запросы в базе данных, но только для их извлечения (и вывода) их.Например, для получения их идентификатора пользователя, группы пользователей, электронной почты и т. Д.

Я считаю необходимым назвать их обоих user, но очевидно, что при получении update.php будут конфликты.Какие предложения вы можете дать для именования этих двух разных классов, даже если они являются отдельными областями в моей библиотеке, но выполняют аналогичные операции?

Использование PHP 4.

Ответы [ 5 ]

2 голосов
/ 16 марта 2011

Если они оба запрашивают, но пишет только один, я бы предложил что-то вроде.

UserWrite
UserRead

или

UserCreate
UserAccess
2 голосов
/ 16 марта 2011

Чтобы представить альтернативу всей структуре имен вместо того, чтобы просто предлагать имена. Zend Framework и другие библиотеки имеют структуру именования, которая соответствует позиции файла в дереве.Половинный пример:

Class name               Is in
-----------------------------------------------------------
Zend_Auth                /Zend/Auth.php
Zend_Auth_Adapter        /Zend/Auth/Adapter.php
Zend_Auth_Helper         /Zend/Auth/Helper.php
Zend_Auth_Adapter_HTTP   /Zend/Auth/Adapter/HTTP.php

, поэтому подчеркивание - это разделитель каталогов, а последним элементом имени является имя файла PHP.

Основная причина этого заключается в том, что он делает автозагрузка чрезвычайно проста, но это также хороший способ упорядочить библиотеки по задачам.Кроме того, когда вы видите класс, используемый где-то в вашем коде, вы всегда можете сказать , какой файл находится в , что является большим плюсом.

В вашем текущем методе проблема, которую я вижу, состоит в том, что "src" является очень неясным описанием того, что на самом деле делает этот класс.Может быть, было бы по порядку более понятное имя (например, «tools» или «query»), или, может быть, основной пользовательский класс и его просто следует назвать «user»?

Применение приведенного выше примера к этой структуре может привестив

Class name                   Is in
------------------------------------------------------------
MyAppname_User_Update        /User/Update.php
MyAppname_User               /User.php

О, и что @Charles говорит в своем комментарии.Вы не должны больше заниматься разработкой для PHP 4.Это мертвая версия, и больше не поддерживается.

0 голосов
/ 16 марта 2011

Я бы предложил вам создать один класс для создания, редактирования, удаления и извлечения записей, связанных с пользователями.Затем управляйте ролями пользователей, чтобы ограничить доступ к методам, вместо создания двух отдельных классов для одного класса объектов.

Объяснение со сравнением с реальным миром.

Допустим, у нас есть класс Car.Когда пользователь с механической ролью (или механик) использует класс автомобиля, он сможет получить доступ к таким методам, как repair(), openHood(), где, например, пользователи с водящей ролью (или водители) получат доступ к drive() методам.

В этих сценариях также очень неуместно создавать CarMechanic класс и CarDriver класс.

Я думаю, что я высказал свою точку зрения.

0 голосов
/ 16 марта 2011

В ООП ваш update.php называется BaseDAO.php, а user.php - это UserDAO.php (объект доступа к данным).Но так как вы не используете ООП, я думаю, что использование может назвать его BaseService.php и UserService.php

0 голосов
/ 16 марта 2011

Я понимаю ваш вопрос, но вы думаете, что вы действительно хотите создать 2 разных класса для выполнения одного и того же действия?Вы можете просто создать его в /src/user.php и, очевидно, можете использовать его где угодно.Вы должны создавать методы в этом классе таким образом, чтобы они использовались в обеих задачах.то есть при получении информации, а также при ее обновлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...