Kako da smanjim velicinu slike pri upload-u?

Nebih najbolje znao točnu definiciju objektnog programiranja.

Meni je objektno čim nije sintaksa kojom se štrika css ili html. …pa mi je smiješno kad to netko nazove da programira. Ja bi rekao “kodira”.

A sad, razliku objektnog i proceduralnog onda nebi znao. Ja sam mislio da je proceduralno izumrlo, da je to bila ona shema kad se nisu sklapale funkcije (objekti, jelte) …nego se redosljed izvršavanja slao po linijama sa GO TO naredbom.

“Sklapanje” funkcija i “sklapanje” objekata nema veze jedno s drugim. nadalje ako sklapas funkcije, ne sklapas nuzno i objekte. funkcija !== objekt. Nemam sad nesto previse vremena za pisanje, ali ovo bi ti mogao biti dobar pocetak za uvod u to sto je objektno orijentirano programiranje: Object-oriented programming - Wikipedia i nakon toga deri po referencama iz clanka.

Je od verzije 5, ako i dalje tvrdis da nije onda ti izgleda ne razumijes sta je objektno orijentirani jezik… nije striktno(kao recimo Java) objektno orijentirati, ali je jer sadrzi sve sto je potrebno da bi programirao OO…

naravno u PHP-u se uopce ne mora programirati OO, proceduralan nacin je moguc i dosta ih na taj nacin i dalje programira…

Ne sjecam se u zadnje dvije godine jesam li iti jedno programirao u PHP-u a da nije bilo OO…

Mozda ce biti od verzije 6, za sada jos uvijek nije.
S obzirom da je ovaj: http://michaelkimsal.com/blog/php-is-not-object-oriented/ puno rekao s malog napisanog eto ti pa citaj.

Ovaj kod gore iz tvojih primjera je sve proceduralno programiranje.

OOP u PHP-u znaci koristenje klasa.

Npr:

// proceduralno
function matematika_zbroj( $broj1, $broj2 ) {

    return $broj1 + $broj2;

}

function matematika_razlika( $broj1, $broj2 ) {

    return $broj1 - $broj2;

}

$zbroj = matematika_zbroj( 5, 3 );
$razlika = matematika_razlika( 5, 3 );

// oop
class Matematika {

    public function zbroj( $broj1, $broj2 ) {

        return $broj1 + $broj2;

    }

    public function razlika( $broj1, $broj2 ) {

        return $broj1 - $broj2;

    }

}

$matematika = new Matematika();

$zbroj = $matematika->zbroj( 5, 3 );
$razlika = $matematika->razlika( 5, 3 );

Naravno ovo je besmislen primjer ali inace, OOP se da dosta bolje organizirati, ja sam bio poceo sa proceduralnim programiranjem (tako valjda svatko pocne) no jednom kada sam probao OOP vise ne silazim s njega, odnosno dosta rijetko (ovisno o situaiji i potrebi).

s tekstom bi se i slozio, gledano sa te strane i nije, al da ga mozes kompletno programirati u njemu OO nacinom mozes, tak da ako uzmes tu stranu nemas razlike u nacinu programiranja naspram drugi OO programskih jezika, s tim da je u nekim programskim jezicima sve objekt(npr Java, nju spominjem jer podosta znam programirati u tom programskom jeziku)…

php svakako nije najbolji jezik koji postoji, i ima nemali broj svojih mana, ali ici bas toliko daleko i tvrditi da je kao OO neupotrebljiv je too far. Ne zelim ulaziti u trolovske rasprave koji je jezik bolji, svakome je jasno da svaki jezik ima svojih mana i prednosti, ali recimo facebook je napravljen na php-u, i radi… jel bi bilo bolje da je umjesto toga na necem drugom, pa bi, ali ako se napravi dobar kod on sasvim dobro odradi posao.

Nigdje nisam rekao da nije upotrebljiv kao OO, nego da to nije OO jezik. Uoci razliku.

nego je sta? tko pise proceduralni kod u phpu, osim ljudi koji neznaju pisati OO? zasto bi se nesto forsalo, ako je to mogucnost, to je isto kao da kazes da netko forsa da se pise OO i koristi takav nacin u javi, ili c-u… nema smisla, u svakom jeziku mozes pisati proceduralno i mozes pisati objektno. neki jezik je za to bolji, neki losiji, ali se ne forsa nista, tebi ak je lakse pa pise kobasicetine od funkcija stavljaj sve u 1000 fileova i ok, to nije stvar php-a, ili bilo kojeg drugog jezika for that matter

Hehe, pa i ja bi u nekoj varijanti u JS pisao onu funkciju ovako:

var Matematika=function()
  {
  this.zbroj=function(x,y){return x+y};
  this.razlika=function(x,y){return x-y};
  return this;
  }

var matematika=new Matematika();

var zbroj=matematika.zbroj(1,5)

Moram priznati da nisam znao da je granica između objektnog i proceduralnog u mogućnost korištenja klasa.
A koristim i jedno i drugo, ovisno o potrebi. Klasa se može inicijalizirati, i reproducirati različite instance…to zasad vidim kao glavnu razliku. A sigurno da puno toga o klasama neznam…imam recimo slab (tj. nikakv) uvid što predstavlja “public” unutar klase. :smile: Jel to interno do PHP-a? Kako bi se to pislo u JS-u ?

Toga nema u Javascriptu samo po sebi, ali mozes ‘emulirati’: oop - JavaScript private methods - Stack Overflow

Public metoda je ona koju korisnik moze pozvati kada instancira tu klasu, dakle matematika->zbroj() je public klasa jer sam joj mogao pristupiti kroz objekt koji sam napravio iz klase.

Private metoda je ona metoda kojoj ne mozes “izvana” pristupiti, vec samo unutar same klase, odnosno u samim njezinim metodama. U PHP-u su metode po defaultu public.

Evo i jedna rijec od “hendikepiranog rovokpaca”. Kad naucis engleski, onda ce ti i kod biti jasniji, zato pozuri. Ovako ti fali jedna ruka, a kopas kanale.

1 Like