Как мне сделать общий интерфейс DAO в PHP? - PullRequest
1 голос
/ 13 апреля 2019

Я пытаюсь написать общий интерфейс DAO на PHP.Я знаю, как это выглядит в Java, но у меня есть только представление о том, как это выглядит в PHP.

Я пробовал это в PHP.

<?php
 interface DAO {

    public function create($obj);
    public function read();
    public function update($obj);
    public function delete($obj);
 }

Потому что я хочу что-токак и этот интерфейс Java

public interface DAO<T> {

    void create(T ob);
    List<T> read();
    void update(T ob);
    void delete(String id);

}

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

1 Ответ

0 голосов
/ 13 апреля 2019

Самая простая форма универсального DAO - это предоставление базовых операций CRUD на уровне объекта без раскрытия внутренних элементов механизма персистентности.

interface UserDao
{
    /**
     * Store the new user and assign a unique auto-generated ID.
     */
    function create($user);

    /**
     * Return the user with the given auto-generated ID.
     */
    function findById($id);

    /**
     * Return the user with the given login ID.
     */
    function findByLogin($login);

    /**
     * Update the user's fields.
     */
    function update($user);

    /**
     * Delete the user from the database.
     */
    function delete($user);
}
...