simonbowen / laravel-isams by simonbowen

Drivers to allow connection to iSAMs schools system via MSSQL or XML
192
2
3
Package Data
Maintainer Username: simonbowen
Maintainer Contact: simon@xiano.co.uk (Simon Bowen)
Package Create Date: 2015-09-20
Package Last Update: 2021-04-29
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-19 03:12:38
Package Statistics
Total Downloads: 192
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 2
Total Watchers: 3
Total Forks: 0
Total Open Issues: 1

laravel-isams

Package to integrate iSAMs data connections in laravel

Intro

ISAMs an official and an unofficial interface to the underlying data in the system. The former a XML file that can be requested over HTTP, the latter a manual SQL connection to the iSAMS MSSSQL database.

This package aims to allow you to use either but maintain the same interface.

Setup

php artisan vendor:publish

Config Example

<?php

return [
  'isams' => [
    'driver' => 'xml', // Set to db to use MSSQL connection,
    'xml' => [
      'url' => 'http://url/for/isams/xml',
      'cache' => null, // Set cache time for XML file (defaults to 60 minutes)
    ],
    'db' => [
      'connection' => 'sqlsrv', // Specify the database connection you wish to use from the database.php config file
    ]
  ]
];

Service Provider

Add SimonBowen\IsamsDrivers\IsamsDriversServiceProvider to your Service Providers configuration found in config/app.php

Usage

This package currently provides three repositorys.

  • StaffRepository
  • PupilRepository
  • SetRepository

These can be injected via Laravels IOC


use SimonBowen\IsamsDrivers\Repositories\Contracts\StaffRepository;

class DemoController extends Controller {
  
  protected $repository;
  
  public function __construct(StaffRepository $repository)
  {
    $this->repository = $repository;
  }
  
  public function index()
  {
    $staff = $this->repository->all();
    dd($staff);
  }
  
}

Be sure to check out the interfaces located in SimonBowen\IsamsDrivers\Repositories\Contracts for more information on available methods.