Commit 697d197b authored by KELBERT Paul's avatar KELBERT Paul
Browse files

commit du début

parent 6e4b57bd
<?php
require 'vendor/autoload.php';
use seance\reponse\CQuestion1;
$q = new CQuestion1();
\ No newline at end of file
{
"require":{
"illuminate/database": "5.5.*",
"php": ">=7.3",
"slim/slim": "2.*"
},
"autoload":{
"psr-4": {
"seance\\" : "src/"
}
}
}
This diff is collapsed.
driver=mysql
username=root
password=
host=localhost
database=applibd
\ No newline at end of file
<?php
require 'vendor/autoload.php';
use seance\modele\Game;
use seace\controller\IndexController;
use Illuminate\Database\Capsule\Manager as DB;
$file = parse_ini_file('conf.ini');
$db = new DB();
$db->addConnection($file);
$db->setAsGlobal();
$db->bootEloquent();
$app = new \Slim\Slim();
$app->get('/', function(){
IndexController::test();
})->name('testIndex');
$app->run();
//echo "<a href='Question1.php'>question 1 -- afficher (name, deck) les personnages du jeu 12342</a><br>";
//echo "<a href='Question2.php'>question 2 -- les personnages des jeux dont le nom (du jeu) débute par Mario</a><br>";
//echo "<a href='Question3.php'>question 3 -- les jeux développés par une compagnie dont le nom contient \"sony\"</a><br>";
//echo "<a href='Question4.php'>question 4 -- le rating initial (indiquer le rating board) des jeux dont le nom contient mario</a><br>";
//echo "<a href='Question5.php'>question 5 -- les jeux dont le nom débute par mario et ayant plus de 3 personnages</a><br>";
//echo "<a href='Question6.php'>question 6 -- les jeux dont le nom débute par mario et dont le rating initial contient \"3+\"</a><br>";
//echo "<a href='Question7.php'>question 7 -- les jeux dont le nom début par mario, publiés par une compagnie dont le nom contient \"inc.\" et dont le rating initial contient \"3+\"</a><br>";
//echo "<a href='Question8.php'>question 8 -- les jeux dont le nom début par mario, publiés par une compagnie dont le nom contient \"inc.\" et dont le rating initial contient \"3+\" et ayant recu un avis de la part du rating board nommé \"CERO\"</a><br>";
//echo "<a href='Question9.php'>question 9 -- ajouter un nouveau genre de jeu, et l'associer au jeux 12, 59, 345</a><br>";
<?php
namespace seace\controller;
use seance\reponse\CQuestion1;
class IndexController
{
public static function test(){
new CQuestion1();
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Character extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'character';
protected $primaryKey = 'id';
public $timestamps = false;
public function first_appeared_in_game(){
return $this->belongsTo('seance\modele\Game', 'id');
}
public function appears_in(){
return $this->belongsToMany('seance\modele\Game', 'game2character', 'character_id', 'game_id');
}
public function enemies(){
return $this->belongsToMany('seance\modele\Character', 'enemies', 'char1_id', 'char2_id');
}
public function friends(){
return $this->belongsToMany('seance\modele\Character', 'friends', 'char1_id', 'char2_id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Company extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'company';
protected $primaryKey = 'id';
public $timestamps = false;
public function developers(){
return $this->belongsToMany('seance\modele\Game', 'game_developers', 'comp_id', 'game_id');
}
public function publishers(){
return $this->belongsToMany('seance\modele\Game', 'game_publishers', 'comp_id', 'game_id');
}
public function producer(){
return $this->hasMany('seance\modele\Platform', 'id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Game extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'game';
protected $primaryKey = 'id';
public $timestamps = false;
public function appears_in(){
return $this->belongsToMany('seance\modele\Character', 'game2character', 'game_id', 'character_id');
}
public function first_appeared_in_game(){
return $this->hasMany('seance\modele\Character', 'id');
}
public function simular_games(){
return $this->belongsToMany('seance\modele\Game', 'similar_games', 'game1_id', 'game2_id');
}
public function developers(){
return $this->belongsToMany('seance\modele\Company', 'game_developers', 'game_id', 'comp_id');
}
public function publishers(){
return $this->belongsToMany('seance\modele\Company', 'game_publishers', 'game_id', 'comp_id');
}
public function original_game_ratings(){
return $this->belongsToMany('seance\modele\Game_Rating', "game2rating", 'game_id', 'rating_id');
}
public function game2genre(){
return $this->belongsToMany('seance\modele\Genre', 'game2genre', 'game_id', 'genre_id');
}
public function game2theme(){
return $this->belongsToMany('seance\modele\Theme', 'game2theme', 'game_id', 'theme_id');
}
public function game2platform(){
return $this->belongsToMany('seance\modele\Platform', 'game2platform', 'game_id', 'platform_id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Game_Rating extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'game_rating';
protected $primaryKey = 'id';
public $timestamps = false;
protected $fillable = [
"name",
"rating_board_id"
];
public function original_game_ratings(){
return $this->belongsToMany('seance\modele\Game', "game2rating", 'rating_id', 'game_id');
}
public function gameR2ratB(){
return $this->belongsTo('seance\modele\Rating_Board', 'id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Genre extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'genre';
protected $primaryKey = 'id';
public $timestamps = false;
public function game2genre(){
return $this->belongsToMany('seance\modele\Game', 'game2genre', 'genre_id', 'game_id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Platform extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'platform';
protected $primaryKey = 'id';
public $timestamps = false;
public function producer(){
return $this->belongsTo('seance\modele\Company', 'id');
}
public function game2platform(){
return $this->belongsToMany('seance\modele\Game', 'game2platform', 'platform_id', 'game_id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Rating_Board extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'rating_board';
protected $primaryKey = 'id';
public $timestamps = false;
public function gameR2ratB(){
return $this->hasMany('seance\modele\Game_Rating', 'id');
}
}
\ No newline at end of file
<?php
namespace seance\modele;
class Theme extends \Illuminate\Database\Eloquent\Model
{
protected $table = 'theme';
protected $primaryKey = 'id';
public $timestamps = false;
public function game2theme(){
return $this->belongsToMany('seance\modele\Game', 'game2theme', 'theme_id', 'game_id');
}
}
\ No newline at end of file
<?php
namespace seance\reponse;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use seance\modele\Character;
use seance\modele\Game;
class CQuestion1
{
public function __construct()
{
echo "<a href='index.php'>Retour au menu</a><br><br>";
$game = Game::find(12342);
$p = $game->appears_in;
foreach ($p as $pers) {
echo $pers->name . " -- " . $pers->deck . "<br>";
}
}
}
\ No newline at end of file
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit2418a93e3afa2d154375a669cfc71918::getLoader();
#!/usr/bin/env sh
dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../nesbot/carbon/bin" && pwd)
if [ -d /proc/cygdrive ]; then
case $(which php) in
$(readlink -n /proc/cygdrive)/*)
# We are in Cygwin using Windows php, so the path must be translated
dir=$(cygpath -m "$dir");
;;
esac
fi
"${dir}/upgrade-carbon" "$@"
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../nesbot/carbon/bin/upgrade-carbon
php "%BIN_TARGET%" %*
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
* // register classes with namespaces
* $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework');
*
* // activate the autoloader
* $loader->register();
*
* // to enable searching the include path (eg. for PEAR packages)
* $loader->setUseIncludePath(true);
*
* In this example, if you try to use a class in the Symfony\Component
* namespace or one of its children (Symfony\Component\Console for instance),
* the autoloader will first look for the class under the component/
* directory, and it will then fallback to the framework/ directory if not
* found before giving up.
*
* This class is loosely based on the Symfony UniversalClassLoader.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
// PSR-4
private $prefixLengthsPsr4 = array();
private $prefixDirsPsr4 = array();
private $fallbackDirsPsr4 = array();
// PSR-0
private $prefixesPsr0 = array();
private $fallbackDirsPsr0 = array();
private $useIncludePath = false;
private $classMap = array();
private $classMapAuthoritative = false;
private $missingClasses = array();
private $apcuPrefix;
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
}
return array();
}
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
public function getClassMap()
{
return $this->classMap;
}
/**
* @param array $classMap Class to filename map
*/
public function addClassMap(array $classMap)
{
if ($this->classMap) {
$this->classMap = array_merge($this->classMap, $classMap);
} else {
$this->classMap = $classMap;
}
}
/**
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*/
public function add($prefix, $paths, $prepend = false)
{
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
(array) $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
(array) $paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
(array) $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
// Register directories for a new namespace.
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 base directories
*/
public function set($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr0 = (array) $paths;
} else {
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
}
}
/**
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*/
public function setPsr4($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr4 = (array) $paths;
} else {
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
}
}
/**
* Turns on searching the include path for class files.
*
* @param bool $useIncludePath
*/
public function setUseIncludePath($useIncludePath)
{
$this->useIncludePath = $useIncludePath;
}
/**
* Can be used to check if the autoloader uses the include path to check
* for classes.
*
* @return bool
*/
public function getUseIncludePath()
{
return $this->useIncludePath;
}
/**
* Turns off searching the prefix and fallback directories for classes