Наименование методов, view-ов....

Тема в разделе "Как сделать...", создана пользователем Mendel, 24 сен 2012.

  1. Mendel

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    Есть некий класс, ну или интерфейс реализующий шаблон CRUD
    У него есть пять стандартных методов:
    1 - create
    2 - read
    3 - read
    4 - update
    5 - delete
    Это не опечатка - 2 и 3 это read. Только один выводит всех кто удовлетворяет критерию, а второй выводит только одного.

    Суть проблемы:
    На данный момент 2 и 3 у меня именуются как read и read1 соответственно.
    Но это криво и не интуитивно.
    Есть мысли назвать как all и view, но view слово относительно универсальное, и не хочется путаницы (в контексте MVC).
    Были мысли назвать list для списка, но тут сложности на уровне реализации (служебное слово).
    Варианты unit, object record и т.п. тоже думал, но пока ни к одному не склонился так чтобы совсем.

    Ну и попутно есть еще мысли переименовать create в add или new.
    Delete в kill, update в edit или modify.....

    В принципе пока я склоняюсь что crud он и есть crud и нефиг извращаться, но все равно как не крути а read у меня два выходит.....
     
  2. xiregroup

    xiregroup Писатель

    Регистр.:
    8 сен 2012
    Сообщения:
    2
    Симпатии:
    2
  3. Ion-Software

    Ion-Software Создатель

    Регистр.:
    23 июл 2008
    Сообщения:
    35
    Симпатии:
    3
    Вообще есть такая вещь как перегрузка, которая в PHP реализована в виде переопределения __call, например: если используются разные параметры для readOne и readAll то можно просто проверить параметры и сделать вызов нужной функции.
    пример:
    PHP:
    class Test
    {
      function 
    __call ($name$args)
      {
        if(
    $name == "read" && sizeOf($args)==1
          readOne
    ($args)
        else 
    readAll($args)
      }
      function 
    readOne(){}
      function 
    readAll(){}
    }
    $t = new Test();
    $t->read("arfds");
    $t->read("sgfsdf","asdf");
    Не помню, в PHP есть sizeOf(), если нет, то все равно можно найти альтернативу
     
  4. cruide

    cruide Писатель

    Регистр.:
    25 июл 2012
    Сообщения:
    8
    Симпатии:
    22
    В таких случаях я поступаю:
    1. делаю разные методы... так удобней и понятней для других...
    Например:

    public function read()
    public function read_all()

    2. ставлю метки
    Пример:

    PHP:
    public function read($id null) {
        if( 
    $id === null ) {
            return 
    все записи;
        }
     
        return 
    запись с $id;
    }
    но второй вариант использую очень редко...
    код должен быть понятен другим программерам.