PHP code example of omnicode / lara-service

1. Go to this page and download the library: Download omnicode/lara-service library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

omnicode / lara-service example snippets




namespace App\Services;

use App\Repositories\Contracts\AccountRepositoryInterface as AccountRepository;
use App\Validators\AccountValidator;
use LaraService\Services\LaraService;

class AccountService extends LaraService
{
    public function __construct(AccountRepository $accountRepository, AccountValidator $accountValidator)
    {
        $this->baseRepository = $accountRepository;
        $this->baseValidator = $accountValidator;
    }
}




namespace App\Http\Controllers;

use App\Services\AccountService;

class AccountsController extends Controller
{   
    public function __construct(AccountService $accountService)
    {
        parent::__construct();
        $this->baseService = $accountService;
    }
}


    public function setBaseRepository(RepositoryInterface $repository)
    public function getBaseRepository()
    public function setBaseValidator($validator)
    public function getBaseValidator ()
    public function setValidationErrors($errors)
    public function getValidationErrors()
    public function paginate($sort = [], $group = self::GROUP)
    public function create($data)
    public function createWithRelations($data, $relations = null)
    public function findForShow($id, $columns = null)
    public function find($id)
    public function update($id, $data)
    public function updateWithRelations($id, $data, $relations = null)
    public function destroy($id)
    public function validate($validator, $data, $options = [])
    public function paginateRepositoryWhere($repository, $group = self::GROUP, $column = null, $val = null)
    public function paginateRepository($repository, $group = self::GROUP)
    public function setSortingOptions($repository, $options = [], $group = self::GROUP)
}

    
    // for index page use
    // returns item list and columns with their columns information 
    $this->accountService->paginate()
      
    // if you want to sort your index page use
    $this->accountService->setSortingOptions($repository)
    
    // to create new record
    $this->accountService->create($request->all());
    
    // returns validation errors of last operation
    $this->accountService->getValidationErrors();
    
    // to save items with relations
    $this->accountService->createWithRelations($data, $relations)
    
    // to find based on $showable attributes
    $this->accountService->findForShow($id)
    
    // usual find with fillable columns
    $this->accountService->find($id)
    
    // to update based on primary key
    $this->accountService->update($id, $data)

    // to update and item with relations
    $this->accountService->updateWithRelations($id, $data, $relations)
    
    // to delelte
    $this->accountService->destroy($id)
    
    // to validate the data (internally uses the injected Validator)
    $this->accountService->validate($validator, $data, $options = [])