Download the PHP package devtools-marvellous/rest-actions without Composer

On this page you can find all versions of the php package devtools-marvellous/rest-actions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rest-actions

Amondar Rest Actions.

По любым вопросам образаться на e-mail - [email protected]
!!!!!! Только для Laravel >= 5.5+

Capability table

Laravel Filter
5.5.* ^1.0.*
5.6. - 5.7. ^2.0.*
5.8.*+ ^3.0.*
5.8.*+, AmondarSextant ^4.1.*

Для установки

Подключение

Для корректной работы всех возможностей пакета рекомендуется установка пакетов:

  1. MYSQL Amondar's Sextant..

    Подключите RestActions трейт к контроллеру. Обратите внимание, что функция public function serverFunction обязательна для наличия в контроллере.

Класс ServerResponse на прямую совместимый с любым проектом не поставляется вместе с текущим трейтом. Ввиду особенности овтетов каждого проекта и апи. Пример реализации можно найти в этом репозитории. Необходимые функции для обертки данного класса:

Пример использования:

Работа с Nemesis Filter ans Sorting

Для передачи параметров в фильтр используется ключ - conditions

Уникальный параметр для работы с подсчетам, можно добавить limit=count в запрос и получить в ответе просто количество. Удобно использовать такой подход для работы с подсчетом нотификаций, например.

Работа без репозитория

Для использования без репозитория, укажите переменной modelClass имя класса модели с которым вдеется работа в текущем контроллере.

Работа через репозиторий

Обычно, при работе через репозиторий, трейт ищет в самом репозитории функцию с таким же названием, как и навзание функции в контроллере. Однако это не совсем удобно при некоторых реализациях. Чтобы переопределить функцию внутри репозитория:

Предача параметров из урла в методы репозитория

Для передачи параметров в репозиторий достатоно указать в методе репозитория необходимых параметров, однако тут есть нюансы. Стандартный пример передачи параметров:

Функция в репозитории:

Еслив репозитории параметр имеет другое имя класса, например, при наследовании, тоогда можно передать параметр по его имени:

Функция в репозитории:

Трейт автоматически определит необходимые параметры и передаст их в репозиторий. В качестве реквеста будет предеан указанный реквест, а далее параметры из массива parameters. ВАЖНО: Так же можно использовать параметры для функций с многофункциональным использованием. Например:

Допустив в примере выше необходимо передать в функцию параметр $someParams=true, но его нет в урле и роуте реквеста:

Так же, если ваш класс репозитория имплементирует методы setModel для установки модели и model для возврата модели, то в репозитории можно не передавать на вход, параметр модели его импелментации. RestActions сам попробует установить модель из репозитория, если сможет найти ее в route.

Работа с views

Некоторые функции трейта умеют загружать вьюшки. На данный момент с вьюшками работают 2(две) функции - index и show. Для указания обработчику использовать необходимую вьюшку:

Обратите внимание, что для index вьюшки будет доступен объект $data в котором будет выборка из базы данных. В методе show - это переменная "snake case" от имени модели. Например, SubCategory, превращается в - $sub_category. Так же есть функция для расширения данных всех вьюшек, напиример для построения и вывода данных меню:

Нюансы и расширения

Для работы с указанным выше пакетом написаны фукнции для ограничения выборок и расширения ответов. Функции index & show. Переопределите представленные ниже функции, чтобы изменить работу фильтра и вид ответов. Ключ parameters - это массив параметров для фильтра:

Если в роуте Ваша модель использует не id, а любой другой параметр, переопределите стандартную функцию ларавела для моделей - getRouteKeyName внутри модели.

Многие в своих роутах используют бинды, но для трейта это довольно сложно. Чтобы ограничить баинд модели, с которогой в данный момент ведется работа, переопределите следующую функцию и добавте в нее свои ограничения. Функция используется во всех функциях, где требуется работы с текущей установленной моделью и при выборке параметров из роута:

Для остальных запросов, типа index & show & update & delete, можно переопределить функццию getBaseFilterQuery.

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

Наследование контроллеров

При прямом наследвоании, может так случиться, что нам необходимо добавить недостающий экшн. Для того, чтобы не повторять весь массив actions:

Метод getActions вызывается единоразово при выборе необходимого к вызову метода. Не забудьте подключить трейт дополняемого метода.
Зачастую при снаследовании у нас меняется валидационный реквест. Поэтому была добавлена переменная - restActionsRequest
Пример:

ВАЖНО: в примере выше, репозиторий должен быть наследником репозитория родительского контроллера.

Расширение через создание экземпляра контроллера в другом контроллере

Для функций index & show доступна функция дополнительной настройки трансформации. Например, вам требуется создать экземпляр класс контроллера, выбрать данные из базы, но изменить ответ таким образом, чтобы они подходил вашим требования. В таком случае вы можете воспользоваться ключем - ajaxTransform

Так же можно устанавливать изменяемые параметры нужного действия до вызова самого действия

Cache

Кеширование доступно на каждый экшн выборки - index, show.

По любым вопросам образаться на e-mail - [email protected]

Управление экшнами

Любой экшн указанный в контроллере расширяет эти параметры:

Описание:


All versions of rest-actions with dependencies

PHP Build Version
Package Version
Requires laravel/framework Version >=5.5.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package devtools-marvellous/rest-actions contains the following files

Loading the files please wait ....