diff --git a/01-classes.php b/01-classes.php
deleted file mode 100644
index 338cccf..0000000
--- a/01-classes.php
+++ /dev/null
@@ -1,21 +0,0 @@
-";
-var_dump($oldMobile);
diff --git a/02-properties.php b/02-properties.php
deleted file mode 100644
index 010aad5..0000000
--- a/02-properties.php
+++ /dev/null
@@ -1,50 +0,0 @@
- ) for accessing properties
-
-// we can assign those public properties in our class with this syntax
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo " ";
-
-// we can also access properties value by the arrow operator
-echo $modernMobile->chipset;
-
-// what happens if we assign a non existing value or a wrong value?
-$modernMobile->ramMemory = 1;
-$modernMobile->internMemory = 8;
-
-echo "
";
-var_dump($modernMobile);
-echo "
";
-
-echo " ";
-
-//-----------------------------------------------------
-// arrow operator is unique in objects and must not be
-// confused with double arrow operator used in arrays
-//-----------------------------------------------------
-
-// this is an example using an array and double arrow operators
-$mobileArray = [
- 'name' => 'Xiaomi Mi10',
- 'chipset' => 'Snapdragon',
- 'internalMemory' => 64
-];
-echo $mobileArray['chipset'];
\ No newline at end of file
diff --git a/03-methods.php b/03-methods.php
deleted file mode 100644
index bf92984..0000000
--- a/03-methods.php
+++ /dev/null
@@ -1,28 +0,0 @@
-name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory";
- }
-}
-
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo $modernMobile->showSpecs();
diff --git a/04-getters.php b/04-getters.php
deleted file mode 100644
index 84cf90c..0000000
--- a/04-getters.php
+++ /dev/null
@@ -1,61 +0,0 @@
-name . " ---";
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-}
-
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo "--- GETTERS ---";
-echo " ";
-echo $modernMobile->getName();
-echo " ";
-echo $modernMobile->getChipset();
-echo " ";
-echo $modernMobile->getInternalMemory();
-
-
-//-----------------------------------------------------
-// with this scenario where all properties are public
-// there won't be any differences between using getters
-// or accessing the properties via arrow operator
-//-----------------------------------------------------
-
-echo "
";
-echo "--- ARROW OPERATOR ---";
-echo " ";
-
-echo $modernMobile->name;
-echo " ";
-echo $modernMobile->chipset;
-echo " ";
-echo $modernMobile->internalMemory;
diff --git a/05-setters.php b/05-setters.php
deleted file mode 100644
index e86c9b6..0000000
--- a/05-setters.php
+++ /dev/null
@@ -1,42 +0,0 @@
-internalMemory;
- }
-
- // setters are methods for changing properties
- public function setInternalMemory($internalMemory)
- {
- echo "* CHANGED internal memory from " . $this->internalMemory;
- $this->internalMemory = $internalMemory;
- echo " to " . $this->internalMemory;
- }
-}
-
-echo " ";
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-
-echo " ";
-echo $modernMobile->getInternalMemory();
-echo " ";
-$modernMobile->setInternalMemory(256);
-echo " ";
-echo $modernMobile->getInternalMemory();
diff --git a/06-constructors.php b/06-constructors.php
deleted file mode 100644
index 59831d5..0000000
--- a/06-constructors.php
+++ /dev/null
@@ -1,34 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- echo "+ " . $this->name . " CREATED + ";
- }
-
- // PHP will call __destruct at the end of the script, when the object is destructed or the script is stopped or exited.
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory - ";
- }
-}
-
-// Now we can instantiate a mobile object passing arguments in the correct order
-$modernMobile = new Mobile('Samsung s20', 'Exynos', 128);
-$oldMobile = new Mobile('BlackBerry', 'ARM', 1);
-echo " ";
diff --git a/07-inheritance-problem.php b/07-inheritance-problem.php
deleted file mode 100644
index 53c6971..0000000
--- a/07-inheritance-problem.php
+++ /dev/null
@@ -1,67 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- echo "+ " . $this->name . " CREATED + ";
- }
-
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory - ";
- }
-}
-
-// We need a class for mobiles with extra properties and methods that won't have every mobile
-// For example we could need a class for a mobile device with physical keyboard so we create a new one
-
-class Blackberry
-{
- public $name;
- public $chipset;
- public $internalMemory;
- public $keyboard;
-
-
- public function __construct($name, $chipset, $internalMemory, $keyboard)
- {
- $this->name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->keyboard = $keyboard;
- echo "+ " . $this->name . " CREATED + ";
- }
-
- //new method for getting keyboard type
- public function getKeyboard()
- {
- return $this->keyboard;
- }
-
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory. It uses " . $this->keyboard . " Keyboard - ";
- }
-}
-
-$samsung = new Samsung('Samsung s20', 'Exynos', 128);
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, 'qwerty');
-echo " ";
-
-// Seems that we are repeating too much code...
\ No newline at end of file
diff --git a/08-inheritance-solution.php b/08-inheritance-solution.php
deleted file mode 100644
index 6fe6b51..0000000
--- a/08-inheritance-solution.php
+++ /dev/null
@@ -1,70 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- }
-
- public function getName()
- {
- return $this->name;
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-
- public function getMobileDetails()
- {
- return "Name: $this->name, Chipset: $this->chipset, Internal Memory: $this->internalMemory";
- }
-}
-
-// When you extend a class, the subclass inherits all of the public and protected methods from the parent class.
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- // in php we use __construct to tell our class that this is the constructor method
- public function __construct($name, $chipset, $internalMemory, $keyboard)
- {
- // we use same constructor as father class with parent keyword and double colon
- parent::__construct($name, $chipset, $internalMemory);
- // and add new arguments necessary for the new son class
- $this->keyboard = $keyboard;
- }
-
- //new method for getting keyboard type
- public function getKeyboard()
- {
- return $this->keyboard;
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128);
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, 'qwerty');
-echo $blackberry->getName();
-echo "\n";
-echo $blackberry->getMobileDetails();
diff --git a/09-public-private-protected.php b/09-public-private-protected.php
deleted file mode 100644
index abebdba..0000000
--- a/09-public-private-protected.php
+++ /dev/null
@@ -1,93 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ " . $this->name . " CREATED + ";
- }
-
- // now getters methods meke more sense because we won't be able to access properties outside the class
- public function getName()
- {
- return "--- " . $this->name . " --- ";
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-
- // protected elements can be accessed only within the class itself and inside inherited classes.
- protected function getIMEI()
- {
- return $this->imei;
- }
-}
-
-class Blackberry extends Mobile
-{
- private $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-
- // show protected imei
- public function showIMEI()
- {
- return $this->getIMEI();
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-
-//-----------------------------------------------------
-// with this scenario we can't access private or protected
-// attributes or methods via arrow operator
-//-----------------------------------------------------
-
-echo " ";
-echo $samsung->getName(); // OK | Public method accessing a public property inside the class
-echo " ";
-echo $samsung->name; // OK | Public property
-echo " ";
-echo $samsung->getChipset(); // OK | Public method accessing a protected property inside the class
-echo " ";
-echo $samsung->chipset; // ERROR | Private property so we can't access outside the class and throws: Fatal error: Uncaught Error: Cannot access privated property Mobile::$chipset
-echo " ";
-echo $samsung->getIMEI(); // ERROR | Protected method so we can't call it outside our class and throws: Fatal error: Uncaught Error: Call to protected method Mobile::getIMEI() from context
-echo " ";
-echo $samsung->imei; // ERROR | Private property so we can't access outside the class and throws: Fatal error: Uncaught Error: Cannot access private property Mobile::$imei
-echo " ";
-echo $blackberry->showIMEI(); // OK | Public method accessing a inherited protected method inside the class
-echo " ";
-echo $blackberry->getInternalMemory(); // OK | Public method accessing a inherited protected method inside the class
-echo " ";
-echo $blackberry->internalMemory; // Uncaught Error: Cannot access protected property Blackberry::$internalMemory
-echo " ";
diff --git a/10-static.php b/10-static.php
deleted file mode 100644
index 4e37e3c..0000000
--- a/10-static.php
+++ /dev/null
@@ -1,57 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY + ";
- }
-
- public function connectMobileInternet()
- {
- // we can call static methods without instantiating directly with class name and double colon
- return $this->name . " : " . Internet::connectInternet();
- }
-}
-
-// we can acces to static properties without instanciating the class
-echo " ";
-$company = Internet::$company;
-
-echo $company;
-echo "
";
-
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-echo $samsung->connectMobileInternet();
diff --git a/11-const.php b/11-const.php
deleted file mode 100644
index 4c250ab..0000000
--- a/11-const.php
+++ /dev/null
@@ -1,46 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY + ";
- }
-
- // We can access constants with just name
- public function runMobileApp()
- {
- return $this->name . " RUNS " . APPNAME . " : " . Internet::connectInternet();
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-echo $samsung->runMobileApp();
diff --git a/12-abstract-classes.php b/12-abstract-classes.php
deleted file mode 100644
index b1a9282..0000000
--- a/12-abstract-classes.php
+++ /dev/null
@@ -1,60 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY + ";
- }
-
- public function runMobileApp()
- {
- return $this->name . " RUNS " . APPNAME . " : " . Internet::connectInternet();
- }
-}
-
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-}
-
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-echo $blackberry->runMobileApp();
-
-// We cannot instantiate an abstract class by itself!!
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333'); // Fatal error: Uncaught Error: Cannot instantiate abstract class Mobile
\ No newline at end of file
diff --git a/13-interfaces.php b/13-interfaces.php
deleted file mode 100644
index 0058b06..0000000
--- a/13-interfaces.php
+++ /dev/null
@@ -1,73 +0,0 @@
-username = $username;
- $this->paassword = $password;
-
- return "¡Loggin succesful with $this->username!\n";
- }
-
- public function saveData()
- {
- return "¡The user has successfully saved the information!\n";
- }
-
- public function logout()
- {
- $this->username = null;
- $this->paassword = null;
-
- return "¡The user has successfully logged out the application!\n";
- }
-
- // We can add methods not present in the interface
- public function exitApp()
- {
- echo "Clossing " . self::APPNAME . "...";
- }
-}
-
-$app = new AssemblerApp();
-
-echo $app->showSplashScreen();
-echo $app->login("XxProAssemblerxX", "123456");
-echo $app->saveData();
-echo $app->logout();
-echo $app->exitApp();
diff --git a/14-overriding.php b/14-overriding.php
deleted file mode 100644
index a61c7ff..0000000
--- a/14-overriding.php
+++ /dev/null
@@ -1,50 +0,0 @@
-name = $name;
- $this->internalMemory = $internalMemory;
- }
-
- public function getName()
- {
- return $this->name;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-}
-
-// When you extend a class, the subclass inherits all of the public and protected methods from the parent class.
-class iPhonePlus extends iPhone
-{
- //Here we are overriding this method adding extra features that the previous "getName" doesn't have.
- public function getName()
- {
- return "¡The name of this iPhone is $this->name!";
- }
-}
-
-$iPhone = new iPhone("iPhone X", "64");
-echo $iPhone->getName() . "\n";
-
-$iPhonePlus = new iPhonePlus("iPhone X Plus", "128");
-echo $iPhonePlus->getName();
diff --git a/15-overloading.php b/15-overloading.php
deleted file mode 100644
index 391ea8a..0000000
--- a/15-overloading.php
+++ /dev/null
@@ -1,52 +0,0 @@
-dni = $dni;
- $this->name = $name;
- return "¡Login with short DNI!";
- }
-
- public function loginFullDNI(string $dni)
- {
- $this->dni = $dni;
- return "¡Login with full DNI!";
- }
-}
-
-$app = new App();
-echo $app->login(53123456, "Pau") . "\n";
-echo $app->login("53123456K");
diff --git a/16-namespaces.php b/16-namespaces.php
deleted file mode 100644
index fe5f942..0000000
--- a/16-namespaces.php
+++ /dev/null
@@ -1,116 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY + ";
- }
-
- public function runAssemblerApp()
- {
- echo " ";
- AssemblerApp::showSplashScreen();
- echo " ";
- AssemblerApp::getData();
- AssemblerApp::showData();
- echo " ";
- AssemblerApp::exitApp();
- }
-
- public function runAssemblerAppLib()
- {
- // We use the namespace for calling our library methods
- Lib\AssemblerApp::showSplashScreen();
- echo " ";
- Lib\AssemblerApp::getData();
- Lib\AssemblerApp::showData();
- echo " ";
- Lib\AssemblerApp::exitApp();
- }
-}
-
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-}
-
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-echo $blackberry->runAssemblerApp();
-echo "
";
-echo $blackberry->runAssemblerAppLib();
diff --git a/Controller/clubController.php b/Controller/clubController.php
new file mode 100644
index 0000000..fb572fc
--- /dev/null
+++ b/Controller/clubController.php
@@ -0,0 +1,41 @@
+
\ No newline at end of file
diff --git a/Models/clubModels.php b/Models/clubModels.php
new file mode 100644
index 0000000..694d402
--- /dev/null
+++ b/Models/clubModels.php
@@ -0,0 +1,110 @@
+getData();
+ echo $trainer->getPokemon();
+
+ $lider = new Lider(1,'Misty','18','Ciudad Plateada','Staryu','Agua');
+ echo $lider->getData();
+}
+
+
+class Trainer implements Club{
+ public $id;
+ public $name;
+ public $age;
+ public $city;
+ public $pokemon;
+
+ public function __construct( int $id, string $name, int $age,string $city, string $pokemon)
+ {
+ $this->id =$id;
+ $this->name =$name;
+ $this->age =$age;
+ $this ->city =$city;
+ $this->pokemon=$pokemon;
+ }
+
+ function getData(){
+ $data="
+
Trainer Personal Data
+
Name: {$this->name}
+
Age: {$this->age}
+
City: {$this->city}
+ ";
+ return $data;
+ }
+
+
+ public function getPokemon():string{
+ $data="
+
Main Pokemon
+
Trainer: {$this->name}
+
Pokemon: {$this->pokemon}
+ ";
+ return $data;
+ }
+
+ public function __destruct()
+ {
+ }
+
+}
+
+class Lider extends Trainer{
+ public static $gym;
+
+ public function __construct(int $id, string $name, int $age,string $city, string $pokemon, string $gym){
+ parent::__construct($id, $name, $age, $city,$pokemon);
+ $this->gym=$gym;
+ }
+
+ function getData(){
+ $data="
+
Lider Data
+
Name: {$this->name}
+
City: {$this->city}
+
Pokemon: {$this->pokemon}
+
Gym: {$this->gym}
+ ";
+ return $data;
+ }
+
+ public function getPokemon():string{
+ $data="
+
Main Pokemon
+
Lider: {$this->name}
+
Pokemon: {$this->pokemon}
+ ";
+ return $data;
+ }
+
+}
+
+
+interface Club{
+ public function getData();
+ public function getPokemon():string;
+}
+
+
+
+abstract class Fighter extends Trainer{
+ public $exp;
+ public $medals;
+
+ public function __construct(int $id, string $name, int $age,string $city, string $pokemon, int $exp, int $medals){
+ parent::__construct($id, $name, $age, $city,$pokemon);
+ $this->exp=$exp;
+ $this->medals=$medals;
+ }
+
+ abstract public function setMedals(string $medals);
+ abstract public function getMedals():string;
+
+}
+
+?>
\ No newline at end of file
diff --git a/Models/dbConnection.php b/Models/dbConnection.php
new file mode 100644
index 0000000..7d1b18d
--- /dev/null
+++ b/Models/dbConnection.php
@@ -0,0 +1,23 @@
+
\ No newline at end of file
diff --git a/Views/club.php b/Views/club.php
new file mode 100644
index 0000000..2904399
--- /dev/null
+++ b/Views/club.php
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+ PokeClub
+
+
+
+
You are on PokeClub page
+
+
+
+
\ No newline at end of file
diff --git a/Views/error.php b/Views/error.php
new file mode 100644
index 0000000..2269a6c
--- /dev/null
+++ b/Views/error.php
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Error
+
+
+
You are on the Error page
+
+
+
\ No newline at end of file
diff --git a/Views/main.php b/Views/main.php
new file mode 100644
index 0000000..8be2c2b
--- /dev/null
+++ b/Views/main.php
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+ Main
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Views/pokemon.php b/Views/pokemon.php
new file mode 100644
index 0000000..dabadea
--- /dev/null
+++ b/Views/pokemon.php
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+ PokeClub
+
+
+
+