PHP classes for photo films, (*1)
, (*2)
Installation
$ composer require filmtools/films
Usage
Class FilmTools\Films\Film
extends FilmTools\Films\FilmAbstract
implements FilmTools\Films\FilmInterface, (*3)
<?php
use FilmTools\Films\Film;
$film = new Film;
$film->setManufacturer( "Ilford" );
$film->setName( "HP5+" );
$film->setAsa( 400 );
// Outputs: Ilford HP5+ 400
echo $film;
$film->setName("");
$film->setManufacturer("Kentmere");
// Outputs: Kentmere 400
echo $film;
Interfaces
FilmInterface
<?php
use FilmTools\Films\FilmInterface;
/**
* @return string|null
*/
public function getName();
/**
* @return string|null
*/
public function getManufacturer();
/**
* @return int|null
*/
public function getAsa();
FilmProviderInterface
<?php
use FilmTools\Films\FilmProviderInterface;
/**
* @return FilmInterface|null
*/
public function getFilm();
FilmAwareInterface extends FilmProviderInterface
<?php
use FilmTools\Films\FilmAwareInterface;
/**
* @param FilmInterface|FilmProviderInterface $film
*/
public function setFilm( $film );
Traits
FilmProviderTrait
<?php
use FilmTools\Films\FilmProviderInterface;
use FilmTools\Films\FilmProviderTrait;
class MyClass implements FilmProviderInterface {
use FilmProviderTrait;
}
FilmAwareTrait extends FilmProviderTrait
<?php
use FilmTools\Films\FilmAwareInterface;
use FilmTools\Films\FilmAwareTrait;
class MyClass implements FilmAwareInterface {
use FilmAwareTrait;
}
Unit testing
$ vendor/bin/phpunit