Add boilerplate and initial activity classes.

This commit is contained in:
Yorin Anne De Jong 2016-08-15 18:47:07 +02:00
parent a1a3d12409
commit e6657a95cd
4 changed files with 75 additions and 0 deletions

39
src/_autoload.php Normal file
View File

@ -0,0 +1,39 @@
<?php
/*
* Copyright (c) 2014-2015, Jørn Åne de Jong <@jornane>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/**
* Register SPL autoloading for classes and interfaces. Put this file in your
* namespace root and make sure it gets included from your PHP entry-point.
*
* There is no requirement for capitalisation for your namespaces and classes,
* but all folders and files MUST be lower-case. Class names are automatically
* lower-cased on autoload. This conforms to the PHP design philosophy that
* functions and class names must be case-insensitive.
*
* The include path is changed to prefer the current directory over the
* established include path. This is because manual include/require statements
* will likely not be used, because it will be handled by autoloading.
* Feel free to change this behaviour if that works better for you.
*
* @author Jørn Åne de Jong <@jornane>
* @copyright Copyright (c) 2014-2015, Jørn Åne de Jong <@jornane>
* @link https://gist.github.com/jornane/667f2e3acc262ce6bf44
* @link http://php.net/manual/en/function.spl-autoload.php
* @license http://choosealicense.com/licenses/isc/ ISC license
*/
spl_autoload_extensions( '.php' );
spl_autoload_register( 'spl_autoload' );
set_include_path( realpath( __DIR__ ) . PATH_SEPARATOR . get_include_path() );

14
src/pvv/side/activity.php Normal file
View File

@ -0,0 +1,14 @@
<?php declare(strict_types=1);
namespace pvv\side;
use \DateTime;
interface Activity {
public function getName(); /* : string */
public function getLocation(); /* : Location */
public function getOrganiser(); /* : User */
}

10
src/pvv/side/event.php Normal file
View File

@ -0,0 +1,10 @@
<?php declare(strict_types=1);
namespace pvv\side;
interface Event extends Activity {
public function getStart(); /* : DateTime */
public function getStop(); /* : DateTime */
}

View File

@ -0,0 +1,12 @@
<?php declare(strict_types=1);
namespace pvv\side;
use \DateTime;
interface RepeatingActivity extends Activity {
public function getNextEventFrom(DateTime $date) /* : Event */;
public function getPreviousEventFrom(DateTime $date) /* : Event */;
}