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 + + +
+

You are on Pokemon page

+
+
pikachu
+
.col-6 .col-sm-4
+ + +
+ +
.col-6 .col-sm-4
+
.col-6 .col-sm-4
+
+
+ + + \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..275fe06 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,64 @@ +@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap'); + +:root{ + --red: #ed3f34ff; + --yellow: #ffcb04ff; + --blue: #21396aff; + --black: #353537ff; + --white: #ffffffff; +} + +body{ + background-color: var(--white); + color: var(--black); + font-family: 'Questrial', sans-serif; + margin: 0%; + padding: 0%; +} + +ul{ + padding: 0 !important; +} + +.navBar{ + background-color: var(--black); +} + +.navBar a{ + color: var(--white); + border: 1px solid var(--black); +} + +.navBar a:hover{ + color: var(--yellow); + border-bottom: 1px solid var(--yellow); + border-top: 1px solid var(--yellow); +} + +.logo{ + height: 4vh; + margin-right: 5%; + border-radius: 50%; +} + +.bigLogo{ + width: 40%; + margin-top: 15%; +} + +.wallpapper{ + display: flex; +} + +article{ + justify-content: center; + text-align: center; + height: 100%; + padding: 0!important; +} + +footer{ + position: absolute; + bottom: 0; + width: 100%; +} \ No newline at end of file diff --git a/assets/img/Pokemon_Club_Logo_CMYK_HiViz.png b/assets/img/Pokemon_Club_Logo_CMYK_HiViz.png new file mode 100644 index 0000000..5c271a6 Binary files /dev/null and b/assets/img/Pokemon_Club_Logo_CMYK_HiViz.png differ diff --git a/assets/img/icon.png b/assets/img/icon.png new file mode 100644 index 0000000..302a459 Binary files /dev/null and b/assets/img/icon.png differ diff --git a/assets/img/picachu.jpg b/assets/img/picachu.jpg new file mode 100644 index 0000000..d109742 Binary files /dev/null and b/assets/img/picachu.jpg differ diff --git a/assets/img/pokemon-trainer-club-169-es.jpg b/assets/img/pokemon-trainer-club-169-es.jpg new file mode 100644 index 0000000..5930c2d Binary files /dev/null and b/assets/img/pokemon-trainer-club-169-es.jpg differ diff --git a/assets/img/xampp-app.png b/assets/img/xampp-app.png deleted file mode 100644 index 144ec73..0000000 Binary files a/assets/img/xampp-app.png and /dev/null differ diff --git a/assets/img/xampp-download.png b/assets/img/xampp-download.png deleted file mode 100644 index 0e06cbb..0000000 Binary files a/assets/img/xampp-download.png and /dev/null differ diff --git a/assets/img/xampp-homepage.png b/assets/img/xampp-homepage.png deleted file mode 100644 index c33ea9f..0000000 Binary files a/assets/img/xampp-homepage.png and /dev/null differ diff --git a/config/constant.php b/config/constant.php new file mode 100644 index 0000000..c03e466 --- /dev/null +++ b/config/constant.php @@ -0,0 +1,49 @@ + For Links CSS +$uri = $_SERVER["REQUEST_URI"]; + +if(isset($uri) && $uri !== null){ + $uri = substr($uri, 1); + $uri = explode("/", $uri); + $uri = "http://$_SERVER[HTTP_HOST]". "/".$uri[0]; +} else { + $uri = null; +} + +define("BASE_URL", $uri); + + + + +//CONTROLLERS +define("CONTROLLERS", BASE_PATH . '/Controller/'); + +//VIEWS +define("VIEWS", BASE_PATH . '/Views/'); + +//MODELS +define("MODELS", BASE_PATH . '/Models/'); + +//RESOURCES +define("RESOURCES", BASE_PATH . '/resources/'); + +//ASSETS +define("ASSETS", BASE_PATH . '/assets/'); + + + +//Global Variable DataBase +define("dbHost", "localhost"); +define("dbName", "mvc_basics"); +define("dbUser", "Kory"); +define("dbPassword", "0036"); +define("dbCharset", "utf8mb4"); + +?> \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..359a966 --- /dev/null +++ b/index.php @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/mobileLibs.php b/mobileLibs.php deleted file mode 100644 index 3b4fa8f..0000000 --- a/mobileLibs.php +++ /dev/null @@ -1,51 +0,0 @@ -