@sjaker
Tvoj razlog za ne prelaženje na oop u php-u, po meni, nije dobar. I mislim da ne postoji ni jedan dobar razlog za ne prelaženje. Što se tiče tih funkcija, već od php 5.5, preporučuje se - `strongly` se preporučuje - prelazak na PDO. Sam tvoj tranzit sa proceduralnog na objektivni pristup, neće biti ni malo bolan već upravo suprotno. Nemoj da govoriš sebi kako nećeš imati vremena, ili je to možda poduhvat koji prevazilazi tvjoe hobi-okvire, itd.. jednostavno iz hobija učini sebi uslugu i malo `apgrejduj` samog sebe.
Uništavaju nešto što radi, zato što postoji nešto što je poprilično zatvorenije, sigurnije, radi još bolje. Uzmi za primer vojnu industriju. Hoće li je baćuškin tenk iz 1951 biti bolji od najavljene armate .. ? Ili automobilsku industriju i 'mečku'... A možeš i monitore kao primer. Jel' CRT samsung syncmaster 4:3 bolji od TFT Benq-a iz 2013. godine.. ?
U proceduralnom načinu rada, npr. nema zaštićenih ili privatnih funkcija. Ima samo javnih. Ako je pozoveš negde, bilo koju funkciju, sa odgovarajućim argumentima, ona će se izvršiti... ako se slože svi prethodni uslovi, jel' da?
U objektivno orijentisanim programiranju, funkcije (metode) mogu biti privatne, dakle mogu da se pozivaju samo u sklopu klase, kao takve ne mogu da se pozivaju nakon instanciranja, ne mogu ni `deca` (child classes) da ih pozivaju bez obzira jesu li deca nasledila sve od roditelja `class childClass extends parentClass { ... }` ukoliko roditelj nema svoju `protected` (npr.) metodu uz pomoć koje prosleđuje/izvršava privatnu, pa onda kroz tu zaštićenu `dete radi dalje`..
Protected/zaštićene metode jesu metode (funkcije) koje takođe, ne mogu da se pozovu nakon instanciranja, ali jesu vidljive za ostatak `povezane` logike, mogu se koristiti, kako ja volim da kažem `mogu ih žonglirati između klasa`.
I tu su za kraj public metode. A to su metode koje se mogu koristiti i u samoj proceduri, nakon instanciranja, baš kao i proceduralne funkcije.
Dakle, imaš PDO ekstenziju koja je objekt orjentisana i znajući da objekti imaju private, protected, public (što svojstva (
$variable), što metode (
function())) .. možeš i sam zaključiti da je pristup tvojoj bazi, malo i sigurniji, .. ne?
Ono na šta treba da se fokusiraš za početak jeste:
- variable == `property`
- function == `method`
.. pa onda pohvataš malo konce povodom novih rezervisanih reči : public, static, abstract, private, protected, parent, self, new .. itd, itd..
Obrni okrenu, nedelju dana (MAX) ti treba da zagaziš u OOP vodice i ... više nema povratka nazad.
Na tvoju sreću, metoda može da izgleda i ovako, čista procedura u sklopu metode.
primer:
Code (php):
<?php
## Procedural
function someFunction
()
{
$out = null;
foreach(get_defined_vars() as $key=>$var)
$out.="Key '${key}' is ".((is_array($var)) ?
'array' : $var) . PHP_EOL
;
return $out;
}
echo someFunction
();
## Object Oriented
abstract
class meNeedVars
{
public static
function someFunction
()
{
$out = null;
foreach(get_defined_vars() as $key=>$var)
$out.="Key '${key}' is ".((is_array($var)) ?
'array' : $var) . PHP_EOL
;
return $out;
}
}
echo meNeedVars
::someFunction();
## ILI malo više `object alike` ali i dalje čista proceduralna logika...
abstract
class meNeedVars
{
public static
$out;
public static
function someFunction
()
{
foreach(get_defined_vars() as $key=>$var)
self::$out.="Key '${key}' is ".((is_array($var)) ?
'array' : $var) . PHP_EOL
;
return self::$out;
}
}
echo meNeedVars
::someFunction();
about:networking