Gå til innhold

OOP: Hvordan kode ordentlig OOP?


Anbefalte innlegg

Hei.

 

Har til nå ikke sett store behoved for OOP,

Jeg har en config.php fil i OOP som er MYE mer , og vanskligere kode i OOP.

 

 

 

<?php
ob_start();
session_start();
error_reporting(E_ALL);
class sql {

private $host = "localhost";
private $user = "root";
private $pass = "";
private $db = "oop";

function connect() {


	$con = mysql_connect($this->host, $this->user, $this->pass); 	
	$con = mysql_select_db($this->db);

	if(!$con) {	
		die("Det skjedde en feil.");
	}

}	
}


$connect_mysql = new sql;
$connect_mysql->connect();

$dato = date("F j, Y, H:i:s"); 
?>

 

 

 

Den koden over må da kunne gjøres bedre?

 

Hvordan får man til plugins ?

 

Jeg har ikke lyst til å bruke et framework som alt er laget, men kanskje lage mitt lille eget?

 

Takk på forhånd

Lenke til kommentar
Videoannonse
Annonse
Har til nå ikke sett store behoved for OOP,

Jeg har en config.php fil i OOP som er MYE mer , og vanskligere kode i OOP.

Halve poenget med objekter er at de skal brukes om igjen. Du skal ikke skrive et database-objekt i hver eneste fil. :!:

 

Før du klarer å programmerer objektorientert på en skikkelig måte, så vil det bare se rart ut og du vil ikke få det utbytte som er mening at du skal ha. Det er derfor bare dumt å ha den innstillingen du har; hvor du skal kode alt selv. Objektorienteringen vil ikke fungerer og jeg tror du kommer til å bli utrolig demotivert og til slutt la være å prøve slik flere tidligere her på forumet allerede har gjort. Det finnes veldig mange kode eksempel-klasser du virkelig burde benytte deg av.

 

http://framework.zend.com/manual/en/zend.db.html

Lenke til kommentar

PHP er ikke akkurat ett språk som oppmuntrer til OOP, men det begynner med ett å bli mer interessant når man begynner å se på arv og slike ting. Sett i ditt eksempel kunne du kalt klassen din "connect" som initialiserer passord/brukernavn, også hatt en klasse "connect_mysql" utvider funksjonaliteten til grunnklassen "connect" til å støtte tilkobling mot mysql. Dersom du senere behøver å porte programmet ditt til postgres behøver du bare å lage en klasse "connect_postgres" som gjør akkurat det samme som "connect_mysql" men som håndterer postgres. Å skrive OOP er først å fremst en universal måte å strukturere kode på, med en klasse i hver fil osv. Som regel klarer man seg uten denne strukturen i PHP men da kreves det god disiplin for å lage gjenbrukbar og lesbar kode. Mitt tips er å søke etter "inheritance oop php" på Google.

 

For å ta eksempelet mitt videre kan du til slutt lage en klasse som heter connect_db som selv finner ut om connect_postgres eller connect_mysql skal brukes. Det blir da denne du bruker i koden din når du kobler til databasen. (Navnekonvensjonen på klassene i eksempelet mitt er sikkert ikke helt riktig for oop, but u got the idea.)

Endret av tickinghd
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...