Jump to content

Kratak uvod u OO PHP


kodi
 Share

Recommended Posts

  • 2 months later...
  • Replies 71
  • Created
  • Last Reply

Top Posters In This Topic

pa nemoj da ti bude cudno, ovo i nije nesto sto se nauci za pola sata.

Svako ko se prvi put susretne sa ovim ima malo problema, jer mu to rusi ono sto je do tad naucio o PHP-u.

 

OO programiranje je sasvim druga paradigma, drugacije se razmislja - nema vise pisanja skripti koja ide od vrha do dna i redom se izvrsava. Ne, ovde je sve kontra, sve je mnogo komplikovanije, tako da je i normalno da bude tesko.

 

Opet korist je velika, jednom kad pohvatas kako sve to funkcionise i zasto tako treba(mora) da se radi.

 

Link to comment
Share on other sites

;)

 

e al' nazalost, properties nisu bukvalno "osobine" niti "karakteristike"

ovo je mozda najbolji opis

 

In some object-oriented programming languages, a property is a special sort of class member, intermediate between a field (or data member) and a method. Properties are read and written like fields, but property reads and writes are (usually) translated to get and set method calls. The field-like syntax is said to be easier to read and write than lots of method calls, yet the interposition of method calls allows for data validation, active updating (as of GUI visuals), and/or read-only 'fields'. That is, properties are intermediate between member code (methods) and member data (instance variables) of the class, and properties provide a higher level of encapsulation than public fields.

 

http://en.wikipedia.org/wiki/Property_(programming)

 

znaci kao neko polje (field) koje moze da drzi neke vrednosti, ali nije bas polje :D

Link to comment
Share on other sites

;)

 

e al' nazalost, properties nisu bukvalno "osobine" niti "karakteristike"

ovo je mozda najbolji opis

 

 

 

http://en.wikipedia.org/wiki/Property_(programming)

 

znaci kao neko polje (field) koje moze da drzi neke vrednosti, ali nije bas polje :D

Pošteno!

Onda ćemo se dogovorit pa neka konacni prijevod bude

 

"Neko polje (koje moze drzati vrijednosti, ali nije bas polje) objekta" :D

Link to comment
Share on other sites

Mislim da nepotrebno komplikujete stvari... Property je osobina/svojstvo objekta. Ima dosta slučajeva da to nije korektan prevod. Nekad je bolji prevod stanje a nekad operacija, ali sve su to Properties i to je tako. Ni amerikanci ne koriste više termina, pa nemamo razloga ni mi da komplikujemo...

Bube odavno nisu glavni krivac za greške u računanju ali i dalje svi govore bug. Bitmape odavno nisu mape bitova, ali je to još uvek termin koji se upotrebljava...

Tako je kako je, ne treba tu mnogo lomiti glavu.

 

Pozdrav.

Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...
  • 7 months later...

@kodi, što se tiče ovog template enginea, je li apsolutno obavezno da dodjeliš varijablu da bi se mogla koristiti u samom templateu?

 

Shvatam da bi se nasleđivanjem varijabli prenijele i neke privremene

 

about.php

 

$title = "Hello";

 

about.tpl

 

<?=$title?>

 

Prednosti / mane? :)

Link to comment
Share on other sites

ne postoji ni jedna moguca prednost

 

a mana ima milion

 

ako nekako napravis da view bude svestan kontrolera, direktno si dao mogucnost da neko iz view/html koda pristupi DB klasi, core-u aplikacije... sta sve ne.

 

Mora da ide ovako

 

Model Controller -> View

 

 

Nema nazad ka kontroleru! Ni po koju cenu!

(moj stav, mozda se neko ne slozi :) )

 

Ako ti treba neka kompleksna logika iz view-a, uradi ajax poziv ili napisi neku staticku helper klasu.

Link to comment
Share on other sites

Ma da, u tome je i čitava poenta. Vidjao sam mnogo puta drugačije rade, nekad ovako, nekad include na kraju, nekad eval, pa pitam...

 

A evo mali dodatak template engineu :)

 

    function render($templates){
        $templates = explode(",", $templates);
        foreach($templates as $template){
            include("$template.tpl");
        }
    }

 

$TemplateEngine::render('header', 'about', 'footer');

 

Praktičnije je razdvojiti, pošto su header i footer (nazovimo ih) obično u 95% sitea statični. Naravno ako je potrebno na nekoj skripti učitati drugi ovako to može.

Link to comment
Share on other sites

Hmmmm

 

Prihvatam da je ovo ok, i da moze da bude korisno.

 

*medjutim*

 

cenim da treba ovako

 

 

Index.tpl

<html>
<body>
<div id="container">
    <?php $this->render('header'); ?>  
    
    <div id="content">
    </div>
    
    <?php $this->render('sidebar'); ?>


   <?php $this->render('footer'); ?>
</div>

</body>
<html>

Link to comment
Share on other sites

Pa da tu je to, onda manje-više stvar navike :)

Ja to radim da ne bih izostavio koju skriptu, meta tag, ili css file, header mi je obično do ovog container id-a, a footer zatvara container i body & html.

 

header.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    <title>OOP</title>
</head>
<body>

 

index.tpl

Hello world!

 

footer.tpl

</body>
</html>

Link to comment
Share on other sites

  • 3 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...