Prikazi cijelu temu 24.05.2020 10:50
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: csv u bazu
malo sam proucavao. Ne svida mi se oop, draže mi je proceduralno programiranje.

Iz priloženog sam zaključio:
-Klasa sadrži funkcije i varijable
-Objekti je jedan primjerak (instanca klase)

primjer:
Nacrt za kuću je klasa, a napravljena kuća je objekt.
Iz klase mozemo napraviti nebrojeno objekata.

U config.inc.php smjestena je višedimenzionalna varijabla $config. Ona sadrzi podatke o spajanju na bazu.
Spojimo se na bazu:
self::$connection=mysqli_connect($dbhost, $dbuser, $dbpas,$dbime);

Postoji i PDO spajanje (nešto sam citao),

PreuzmiIzvorni kd (Text):
  1. class Database {
  2. private $dbHost = DB_HOST;
  3. private $dbUser = DB_USER;
  4. private $dbPass = DB_PASS;
  5. private $dbName = DB_NAME;
  6. public $pdo;
  7. public function __construct() {
  8. $this->_connectToDB();
  9. }
  10. private function _connectToDB() {
  11. if (!isset($this->pdo)) {
  12. try {
  13. $this->pdo = new PDO("mysql:host=".$this->dbHost.
  14. ";dbname=".$this->dbName, $this->dbUser, $this->dbPass);
  15. $this->pdo->setAttribute(PDO::ATTR_ERRMODE,
  16. PDO::ERRMODE_EXCEPTION);
  17. $this->pdo->exec("SET CHARACTER SET utf8");
  18. } catch (PDOException $e) {
  19. die("Failed to connect with Database!");
  20. }
  21. }
  22. }
  23. }

citat:
"Kao što se može vidjeti u kodu iznad, atributi $dbHost, $dbUser, $dbPass i $dbName
spremaju podatke iz config.php dokumenta. Njihovo pravo pristupa je postavljeno na privatno
jer će se koristiti samo unutar klase i to u _connectToDB privatnoj funkciji. Atribut $pdo služi
za spremanje uspostavljene PDO veze i koristit će se i izvan klase, pa mu je zbog toga pravo
pristupa javno. Funkcija _connectToDB() provjerava da li je atribut $pdo postavljen na neku
vrijednost i u slučaju da nije stvara PDO instancu i sprema ju u taj atribut. PDO metodi
setAttribute() prenosimo atribute ATTR_ERRMODE i ERRMODE_EXCEPTION koji
omogućavaju upravljanje greškama pomoću PDO iznimki (eng. exceptions). Funkcija
_connectToDB() koristi try-catch blok. U try bloku se izvršava kod za spajanje na bazu, a u
slučaju greške u spajanju, PDO iznimka se hvata u catch bloku koji se onda izvršava. Catch
blok ispisuje poruku o greški i prekida izvođenje programa pomoću ugrađene PHP die()
funkcije.
PDO exec() metodu koristimo za postavljanje sustava kodiranja znakova na UTF-8.
Funkcija _connectToDatabase() se izvršava u konstruktoru prilikom stvaranja svake nove
instance klase Database."

Sve u svemu da zakljucim. Mogao bi prepisivati gore navedeno no problemi bi mi nastali kod daljnih CRUD oop akcija. Tu bi se pogubio u moru uputa i pravila pa bi malo malo dolazio na forum sa pitanjima : kako ovo? kako ono? šta je to?

Još jedna stvar me odbila od oop-a a to je :
citat:
"OOP ne rješava sve probleme pisanja lošeg kôda već samo usmjerava programere na
određene standardne načine pisanja koda. Iako je OOP programiranje sporije od proceduralnog
što se performansi tiče, programeri koristeći objektno orijentirane principe pišu „čišći” kod
kojeg je lakše mijenjati i ponovno koristiti (eng. reusable code). Upravo je potonje vrlo važno
u modernom razvoju programske potpore jer se unutar jednog tima ili firme određene
programske komponente mogu ponovno koristiti čime se smanjuje ukupno vrijeme razvoja
programa i povećava njegova vrijednost. Također, što više ljudi koristi neku programsku
cjelinu, to je veća šansa da će se pronaći i riješiti greške (tzv. bugove). S vremenom će ta
komponenta sve brže i brže postajati bliža savršenoj.
Ovaj način razvoja pogodan je za razvoj složenih programskih sustava. Sam razvoj je brži
jer se omogućuje jednostavno korištenje postojećeg programskog koda."

-oop je sporije od proceduralnog programiranja
-oop samo uvodi standarde
-ne radim slozene programske sustave i nece nitko to koristiti

Nisam totalni pocetnik, ali nisam ni napredni programer, nesto kao korisnik. Mozda ****lje da se drzim klasicnog (proceduralnog programiranje), jeli tako?
zivot je moja domovina.